在 C++11 中,我有一个具有很多属性的结构,如下所示:
#include <atomic>
struct Foo {
int x;
int y;
// ...
// LOTS of primitive type attributes, followed by...
// ...
std::atomic_bool bar;
}
我想像这样定义一个实例:
bool bar_value = true;
Foo my_foo = {/*attribute values*/, bar_value};
但是, atomic_bool 抛出“使用已删除函数”错误,因为我认为在原子上不允许复制构造。有没有办法解决这个问题,除了写出构造函数或单独分配每个值?
仅仅因为它的许多属性之一是特殊情况,就必须以特殊的方式处理这个原本相对平庸的结构似乎很不方便。
更新:
- 有接盘侠吗?我一直在环顾四周,但似乎没有任何直接的方法可以解决这个问题。