在c ++ 0x中初始化原子变量

pan*_*kaj 3 initialization atomic c++11

c ++ 0x中的原子变量可以全局初始化吗?

例如

atomic_int turnX = 5;
int main(){
    ....
}
Run Code Online (Sandbox Code Playgroud)

失败并出现错误:删除函数'std :: atomic :: atomic(const std :: atomic&)'

查看atomic_2.h确实给出了一个不允许这样做的想法.我是否正确地声明原子变量只能从函数中赋值?

How*_*ant 6

尝试:

atomic_int turnX(5);
Run Code Online (Sandbox Code Playgroud)

这是一个constexpr构造函数,因此它应该构造为常量初始化(即在加载时).