std:: atomic_init
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
定义于头文件
<atomic>
|
||
|
template
<
class
T
>
void
atomic_init
|
(1) |
(C++11 起)
(C++20 中弃用) |
|
template
<
class
T
>
void
atomic_init
|
(2) |
(C++11 起)
(C++20 中弃用) |
初始化默认构造的原子对象 obj 为值 desired 。该函数不具备原子性:即使通过原子操作,来自其他线程的并发访问也会导致数据竞争。
如果 obj 不是默认构造的,或者此函数在同一 obj 上被调用两次,则行为是未定义的。
目录 |
参数
| obj | - | 指向待初始化原子对象的指针 |
| desired | - | 用于初始化原子对象的值 |
返回值
(无)
注释
此函数为兼容C语言而提供。若无需兼容性要求, std::atomic 可通过其非默认构造函数进行初始化。
示例
|
本节内容不完整
原因:缺少示例 |
缺陷报告
下列行为变更缺陷报告被追溯应用于先前发布的C++标准。
| DR | 适用范围 | 发布时的行为 | 正确行为 |
|---|---|---|---|
| P0558R1 | C++11 |
由于
T
是从多个参数推导得出,因此需要精确类型匹配
|
T
仅从
obj 推导 |
参见
|
(C++11)
(deprecated in C++20)
|
静态存储期原子变量的常量初始化
(函数宏) |
|
构造原子对象
(
std::atomic<T>
的公开成员函数)
|
|
|
C 文档
关于
atomic_init
|
|