【发布时间】:2014-09-13 11:52:10
【问题描述】:
struct S
{
int x;
int y;
};
std::atomic<S> asd{{1, 2}}; // what should this be? This doesn't work
编辑:{{1, 2}} 和 ({1, 2}) 在 g++ 中工作,在 clang 中都不工作。 clang 有解决方法吗?
【问题讨论】:
-
我没有看到任何黑客攻击;甚至以后都无法手动将 S 分配给该野兽。但是让我们积极思考 - 它不仅仅是标准的“公正”,而且显然是线程安全的......;)
标签: c++ c++11 atomic uniform-initialization aggregate-initialization