std::atomic<T>::exchange
(C++11 起) | ||
T exchange( T desired, std::memory_order order = std::memory_order_seq_cst ) noexcept; |
||
T exchange( T desired, std::memory_order order = std::memory_order_seq_cst ) volatile noexcept; |
||
原子地以 desired
替换底层值。操作为读-修改-写操作。根据 order
的值影响内存。
若 std::atomic<T>::is_always_lock_free 为 false 则 volatile 限定版本被弃用。 |
(C++20 起) |
参数
desired | - | 要赋值的值 |
order | - | 要强加的内存顺序制约 |
返回值
调用前原子对象的值。
参阅
(C++11)(C++11) |
原子地以非原子实参的值替换原子对象的值,并返回该原子对象的旧值 (函数模板) |