我是C++的新手,花括号初始化(或统一初始化)确实令人困惑。当一个函数返回一个用大括号括起来的参数列表时,到底会发生什么?非常感谢你的提醒。std::vector<double> foo() return {1, 2}; // is this the same as: std::vector<double>{1, 2} or std::vector<double>(1, 2)?
我需要一个具有复制构造函数的原子,因为我有一个对象向量,其中包括一个原子。当然,不需要复制原子的同步状态,但需要复制内容。我并不真的需要复制对象,但我有一个从0调整为N的vector,::resize自然依赖于复制构造函数,因为它不仅仅是用来调整vom零大小的。emplace_back也没有帮助,因为它还有条件地调整向量的大小,从而调用复制构造函数。;
using std::atomic<T>::compare_exchange_s