首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

ATOMIC_VAR_INIT

在头文件<stdatomic.h>中定义

#define ATOMIC_VAR_INIT(值)/ * unspecified * /

(自C11以来)

扩展为一个表达式,可以用来初始化一个与之类型相同的原子变量value。未使用此宏初始化的自动存储持续时间的原子对象的初始值未定义。但是,静态和线程局部变量的默认(零)初始化会生成有效值。

如果这个宏不用于初始化一个原子变量,那么在从另一个线程初始化(即使通过一个原子操作)期间,任何访问都是数据竞争(如果地址通过memory_order_relaxed操作立即传递给另一个线程,则可能发生)。

参考

  • C11标准(ISO/IEC 9899:2011):
    • 7.17.2.1 ATOMIC_VAR_INIT宏(p: 274)

另请参阅

ATOMIC_FLAG_INIT(C11)

初始化一个新的atomic_flag(宏常量)

扫码关注腾讯云开发者

领取腾讯云代金券