std::atomic_ref<T>::fetch_xor
来自 cppreference.cn
< cpp | atomic | atomic ref
仅当 T 是除 cv bool 之外的整型类型时提供 |
||
value_type fetch_xor( value_type arg, std::memory_order order = |
(自 C++20 起) | |
原子地将引用对象的当前值替换为该值与 arg 按位异或的结果。此操作是读-修改-写操作。内存受 order 值的影响。
仅当 std::is_const_v<T> 为 false 时,此重载才参与重载解析。
[edit] 参数
arg | - | 按位异或的另一个参数 |
order | - | 要强制执行的内存顺序约束 |
[edit] 返回值
引用对象的值,紧接在此函数效果之前。
[edit] 缺陷报告
以下行为变更缺陷报告被追溯应用于先前发布的 C++ 标准。
DR | 应用于 | 已发布行为 | 正确行为 |
---|---|---|---|
LWG 3508 (P3323R1) |
C++20 | fetch_xor 对于 const T 没有意义 |
约束为仅接受非 const T |