std::atomic_ref<T>::exchange
来自 cppreference.cn
< cpp | atomic | atomic ref
value_type exchange( value_type desired, std::memory_order order = |
(C++26 起为 constexpr) | |
原子地将引用对象的值替换为 desired。该操作是一个读-改-写操作。内存根据 order 的值受到影响。
此重载仅在 std::is_const_v<T> 为 false 时参与重载决议。
[编辑] 参数
desired | - | 要赋的值 |
顺序 | - | 要强制执行的内存顺序约束 |
[编辑] 返回值
调用前引用对象的值。
[编辑] 缺陷报告
下列更改行为的缺陷报告追溯地应用于以前出版的 C++ 标准。
缺陷报告 | 应用于 | 发布时的行为 | 正确的行为 |
---|---|---|---|
LWG 3508 (P3323R1) |
C++20 | 对于 const T,exchange 毫无意义 |
限制为只接受非 const T |