名稱空間
變體
操作

std::experimental::atomic_weak_ptr<T>::exchange

來自 cppreference.com
 
 
實驗性
技術規範
檔案系統庫 (檔案系統 TS)
庫基礎 (庫基礎 TS)
庫基礎 2 (庫基礎 TS v2)
庫基礎 3 (庫基礎 TS v3)
並行性擴充套件 (並行性 TS)
並行性擴充套件 2 (並行性 TS v2)
併發性擴充套件 (併發性 TS)
併發擴充套件 2 (concurrency TS v2)
概念 (概念 TS)
範圍 (範圍 TS)
反射 (反射 TS)
數學特殊函式 (特殊函式 TR)
實驗性非 TS
模式匹配
線性代數
std::execution
契約
2D 圖形
 
 
 
weak_ptr<T> exchange( weak_ptr<T> desired, std::memory_order order = std::memory_order_seq_cst ) noexcept;

原子地將底層 weak_ptr 替換為 desired。該操作是一個讀-修改-寫操作。記憶體根據 order 的值受到影響。

目錄

[編輯] 引數

desired - 要賦的值
順序 - 要強制執行的記憶體順序約束

[編輯] 返回值

呼叫前原子變數的值。

[編輯] 備註

atomic_weak_ptr 物件本身的所有更改,以及所有相關的 use_count 增量,都保證原子地執行。相關的 use_count 減量發生在原子操作之後,但不要求作為原子操作的一部分。任何相關的銷燬或解分配操作發生在原子操作之後,不作為其一部分。

[編輯] 參閱

特化 std::shared_ptr 的原子操作
(函式模板) [編輯]