函数
<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 可能会导致数据竞争。

异常安全

无异常保证: 绝不抛出异常。

另见