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

例如

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

失败
错误:删除函数‘std::atomic::atomic(const std::atomic&)’

查看 atomic_2.h 确实表明这是不允许的。我声明原子变量只能从函数内部赋值是否正确?

最佳答案

尝试:

atomic_int turnX(5);

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

关于c++11 - c++0x中原子变量的初始化,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6700795/

10-11 17:05