函式
<atomic>

std::atomic_init

template (1)
template <class T> void atomic_init (volatile atomic<T>* obj, T val) noexcept;template <class T> void atomic_init (atomic<T>* obj, T val) noexcept;
過載 (2)
void atomic_init (volatile A* obj, T val) noexcept;void atomic_init (A* obj, T val) noexcept;
初始化原子物件
使用 val 的包含值初始化 obj

對已初始化的 atomic 物件(透過構造或先前呼叫此函式)呼叫此函式會導致未定義行為(請參閱 atomic_store 來修改已初始化原子物件的值)。

引數

obj
指向 atomic 物件的指標。
型別 A 代表其他過載的 原子型別(以防庫不將 C 風格的原子型別 實現為 atomic 的例項化)。
val
用於初始化包含物件的初始值。
T 是原子物件包含的值的型別(atomic 的模板引數)。

返回值



資料競爭

此操作不是原子的:在初始化期間訪問 obj 可能會導致資料競爭。

異常安全

無異常保證: 絕不丟擲異常。

另見