たとえば、アトミック変数がある場合、
std::atomic<int> x;
読み取りと書き込みを実行したい場合は、「通常の」構文を使用できます。たとえば、
std::cout << x; // read from x
x = 5; // write to x
明示的関数load
とstore
メンバー関数も使用できます。
std::cout << x.load(); // read from x
x.store(5); // write to x
Andrei Alexandrescu や Anthony Williams のような人々が明示的な形式load
とstore
形式のみを使用することを推奨しているのを見てきました。おそらく、「通常の」形式では変数がアトミックであることを強調していないためです。これは、ハンガリーの記譜法の一種のように思えます。アトミックを読み書きするときに使用する構文に関する新しい規則はありますか?