belowこの機能はC++20で非推奨となった。std::atomicクラスのデフォルトコンストラクタが値初期化するようになったため、初期化のためにこの機能を使用する必要はない。効果このマクロは、静的ストレージを持つアトミック変数をvalueで初期化するためのトークン列へと展開される(この操作はロックの初期化を必要とするかもしれない)。変数の初期化中に並行アクセスされた場合、それがアトミックな操作であったとしてもデータ競合を引き起こす。x(value);と書くのと等価である。C言語との互換性のために存在している。(C++20)C言語との互換性のために、std::atomicクラスのデフォルトコンストラクタはトリビアルに定義され、初期値は未規定となっていた。そのためこの機能を介してstd::atomicオブジェクトを初期化する必要があったが、C++20からデフォルトコンストラクタが値初期化を行うようになったため、初期化のためにこの機能を使用する必要はなくなった。下に提供されています。