c++ - 为什么 std::atomic 的 compare_exchange 会引用期望值?

标签 c++ c++11 atomic

std::atomic<T>::compare_exchange_*的原因是什么?通过引用获取期望值,而不是通过值获取期望值?

最佳答案

如果操作失败,

compare_exchange_* 会将 expected 更改为实际值。它使循环更简单一些。

关于c++ - 为什么 std::atomic 的 compare_exchange 会引用期望值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19986978/

相关文章:

c++ - 从子类设置 const 成员值

c++ - 类与结构与enable_shared_from_this

qt - MinGW 64(posix 线程版本)中 std::mutex 和 QMutex 的性能

C++ 复制多维 vector

c++ - 为什么 C++ 的 void 类型只是三心二意的单元类型?

c++ - Qt GUI 小部件源文件的重构/分区

c++ - 在公共(public)接口(interface)中使用共享指针

c++ - 错误 83 错误 C2398 : conversion from 'double' to 'float' requires a narrowing conversion

.net - MSIL操作码是原子的吗?

c - Linux Kernel中读写原子操作的实现