Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
C ++ 11の場合:アトミック変数(std :: atomicの演算子++)をインクリメントすると、新しい値はメモリバリアとともに保存されますか?または、明示的にストアを実行する必要がありますか?
明示的なストアを行う必要はありません。逐次整合性メモリの順序が使用されます。
operator++(int)およびoperator++()on型は、の効果を持つように指定されます。これにより、デフォルトのメモリ順序でメンバー関数が呼び出されます。atomic<integral>fetch_add(1)memory_order_seq_cst
operator++(int)
operator++()
atomic<
integral
>
fetch_add(1)
memory_order_seq_cst
仕様については、アトミックタイプの操作の要件[atomics.types.operations.req] 29.6.5/33を参照してください。