std::experimental::atomic_shared_ptr<T>::exchange

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

原子地以 desired 替換底層 shared_ptr。此操作是讀修改寫操作。根據 order 的值影響內存。

參數

desired - 要賦的值
order - 要強制的內存定序約束

返回值

調用前原子變量的值。

說明

atomic_shared_ptr 對象自身的所有改動,所有關聯的 use_count 自增均保證原子地實施。所有關聯的 use_count 自減都在原子操作之後發生,而並不要求是其一部分。任何關聯的析構或解分配操作均在驗證操作之後發生,且不是其一部分。

參閱

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