std::atomic_ref<T>::exchange
來自 cppreference.com
< cpp | atomic | atomic ref
value_type exchange( value_type desired, std::memory_order order = |
(C++26 起為 constexpr) | |
原子地將引用物件的值替換為 desired。該操作是一個讀-改-寫操作。記憶體根據 order 的值受到影響。
此過載僅在 std::is_const_v<T> 為 false 時參與過載決議。
[編輯] 引數
desired | - | 要賦的值 |
順序 | - | 要強制執行的記憶體順序約束 |
[編輯] 返回值
呼叫前引用物件的值。
[編輯] 缺陷報告
下列更改行為的缺陷報告追溯地應用於以前出版的 C++ 標準。
缺陷報告 | 應用於 | 釋出時的行為 | 正確的行為 |
---|---|---|---|
LWG 3508 (P3323R1) |
C++20 | 對於 const T,exchange 毫無意義 |
限制為只接受非 const T |