c ++ 0x中的原子变量可以全局初始化吗?
例如
atomic_int turnX = 5;
int main(){
....
}
失败了 错误:删除函数'std :: atomic :: atomic(const std :: atomic&)'
查看atomic_2.h确实给出了一个不允许这样做的想法。我是否正确地声明原子变量只能从函数中赋值?
答案 0 :(得分:6)
尝试:
atomic_int turnX(5);
这是一个constexpr构造函数,因此它应该构造为常量初始化(即在加载时)。