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

时间:2011-07-14 22:38:06

标签: c++11 initialization atomic

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

例如

atomic_int turnX = 5;
int main(){
    ....
}

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

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

1 个答案:

答案 0 :(得分:6)

尝试:

atomic_int turnX(5);

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