1
C ++ 14とC ++ 17ではstd :: atomicコンストラクターの動作が異なるのはなぜですか
C ++ 11のプロジェクトで作業していて、次のコードを試してみました #include <atomic> struct A { std::atomic_int idx = 1; }; int main() { return 0; } コンパイラエラーが発生する error: use of deleted function 'std::__atomic_base<_IntTp>::__atomic_base(const std::__atomic_base<_IntTp>&) [with _ITp = int]' std::atomic_int idx = 1; ^ C ++ 14でも同じ結果になります。C ++ 17に切り替えると機能します:wandbox 私はcppreferenceの違いをチェックしました: std::atomic std::atomic<T>::operator= std::atomic<T>::atomic しかし、C ++ 14とC ++ 17の間に文書化された違いはありません。C …