std::atomic<T>::fetch_and

来自cppreference.com
< cpp‎ | atomic‎ | atomic
 
 
并发支持库
线程
(C++11)
(C++20)
this_thread 命名空间
(C++11)
(C++11)
(C++11)
协作式取消
互斥
通用锁管理
(C++11)
(C++11)
(C++11)
(C++11)
条件变量
(C++11)
信号量
闩与屏障
(C++20)
(C++20)
未来体
(C++11)
(C++11)
(C++11)
安全回收
风险指针
原子类型
(C++11)
(C++20)
原子类型的初始化
(C++11)(C++20 弃用)
(C++11)(C++20 弃用)
内存定序
(C++11)(C++26 弃用)
原子操作的自由函数
原子标志的自由函数
 
 
atomic<整数类型 > 特化才有的成员
T fetch_and( T arg, std::memory_order order =
                        std::memory_order_seq_cst)noexcept;
(1) (C++11 起)
T fetch_and( T arg, std::memory_order order =
                        std::memory_order_seq_cst)volatilenoexcept;
(2) (C++11 起)

以当前值和 arg 逐位与的结果原子地替换当前值。运算是读-修改-写操作。按照 order 的值影响内存。

重载 (2) 在参与重载决议且 std::atomic<T>::is_always_lock_freefalse 时被弃用。

(C++20 起)

[编辑]参数

arg - 逐位与的另一实参
order - 强制的内存定序约束

[编辑]返回值

*this修改顺序中,紧接此函数生效之前的值。

[编辑]参阅

将原子对象替换为与非原子实参逐位与的结果,并获得原子对象的先前值
(函数模板)[编辑]
close