如果我有一个原子变量,例如,
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
形式,大概是因为“正常”形式并不强调变量是原子的。这似乎几乎是匈牙利符号的一种形式。读写原子时使用的语法是否有新的约定?