std::atomic<T>::exchange
来自cppreference.com
| (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) |
原子地以非原子实参的值替换原子对象的值,并返回该原子对象的旧值 (函数模板) |