std::atomic<T>::fetch_and
(C++11 起) (仅为 atomic<Integral> 模板特化的成员) |
||
T fetch_and( T arg, std::memory_order order = std::memory_order_seq_cst ) noexcept; |
||
T fetch_and( T arg, std::memory_order order = std::memory_order_seq_cst ) volatile noexcept; |
||
原子地以值和 arg
逐位与的结果替换当前值。运算是读修改写操作。按照 order
的值影响内存。
若 std::atomic<T>::is_always_lock_free 为 false 则 volatile 限定版本被弃用。 |
(C++20 起) |
参数
arg | - | 逐位与的另一参数 |
order | - | 强制的内存顺序制约 |
返回值
*this
的修改顺序中立即前趋此函数效果的值。
参阅
(C++11)(C++11) |
将原子对象替换为与非原子实参逻辑与的结果,并获得原子对象的先前值 (函数模板) |