因为我们在 C++0x 中有右值引用,所以在我看来,应该可以将 std::swap 实现为 CAS 的原子操作。新标准是否属于这种情况?如果不是,原因是什么?
最佳答案
它不是原子的。原子操作并不便宜,99% 的时间你不需要原子性。有 (IIRC) 一些其他方法来获得原子操作,但 std::swap()
不是其中之一。
关于c++ - 由于右值引用,C++0x 中的 std::swap 是原子的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3446957/