std::atomic_init
STD::原子[医]依尼特
Defined in header | | |
---|---|---|
template< class T > void atomic_init( std::atomic<T>* obj, T desired | | (since C++11) |
template< class T > void atomic_init( volatile std::atomic<T>* obj, T desired | | (since C++11) |
初始化默认构造的原子对象。obj
有价值desired
函数不是原子的:来自另一个线程的并发访问,即使是通过原子操作,也是一种数据竞争。
如果obj
不是默认构造的,行为是未定义的。
如果此函数在同一位置上被调用两次obj
,该行为是未定义的。
参数
obj | - | pointer to an atomic object to initialize |
---|---|---|
desired | - | the value to initialize atomic object with |
返回值
%280%29
例外
noexcept
规格:
noexcept
注记
此功能是为了与C兼容而提供的。如果不需要兼容性,std::atomic
可以通过它们的非默认构造函数初始化。
例
另见
ATOMIC_VAR_INIT (C++11) | constant initialization of an atomic variable of static storage duration (function macro) |
---|---|
(constructor) | constructs an atomic object (public member function of std::atomic) |
C原子文档[医]依尼特
© cppreference.com
在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。