名稱空間
變體
操作

std::experimental::observer_ptr

來自 cppreference.com
< cpp‎ | 實驗性
 
 
實驗性
技術規範
檔案系統庫 (檔案系統 TS)
庫基礎 (庫基礎 TS)
庫基礎 2 (庫基礎 TS v2)
庫基礎 3 (庫基礎 TS v3)
並行性擴充套件 (並行性 TS)
並行性擴充套件 2 (並行性 TS v2)
併發性擴充套件 (併發性 TS)
併發擴充套件 2 (併發 TS v2)
概念 (概念 TS)
範圍 (範圍 TS)
反射 (反射 TS)
數學特殊函式 (特殊函式 TR)
實驗性非 TS
模式匹配
線性代數
std::execution
契約
2D 圖形
 
 
 
定義於標頭檔案 <experimental/memory>
template< class W >
class observer_ptr;
(庫基礎 TS v2)

std::experimental::observer_ptr 是一個非擁有的指標,或者說是*觀察器*。觀察器儲存一個指向第二個物件(稱為*被觀察物件*)的指標。一個 observer_ptr 也可以沒有被觀察物件。

觀察器不以任何方式對被觀察物件負責;觀察器和它所觀察的物件之間沒有固有的關係。

它旨在作為原始指標型別的一個接近的直接替代品,其優點是,作為一個詞彙表型別,它無需程式碼閱讀者進行詳細分析即可表明其預期用途。

observer_ptr 的特化滿足 CopyConstructibleCopyAssignable 的要求。

型別要求
-
W 不應是引用型別,但可以是未完全型別。

目錄

[編輯] 成員型別

成員型別 定義
element_type W,此 observer_ptr 觀察的物件的型別

[編輯] 成員函式

構造一個新的 observer_ptr
(公共成員函式) [編輯]
(解構函式)
(隱式宣告)
析構一個 observer_ptr
(公共成員函式) [編輯]
operator=
(隱式宣告)
隱式宣告的複製和移動賦值運算子,用於賦值儲存的指標
(公共成員函式) [編輯]
修改器
返回一個指向被觀察物件的指標並停止觀察該物件
(公共成員函式) [編輯]
替換被觀察物件
(公共成員函式) [編輯]
交換被觀察物件
(公共成員函式) [編輯]
觀察器
返回一個指向被觀察物件的指標
(公共成員函式) [編輯]
檢查是否存在關聯的被觀察物件
(公共成員函式) [編輯]
解引用指向被觀察物件的指標
(公共成員函式) [編輯]
轉換
顯式轉換為儲存指標的轉換函式
(公共成員函式) [編輯]

[編輯] 非成員函式

建立一個觀察物件的 observer_ptr
(函式模板) [編輯]
與另一個 observer_ptr 或與 nullptr 進行比較
(函式模板) [編輯]
特化 swap 演算法
(函式模板) [編輯]

[編輯] 輔助類

支援 observer_ptr 的雜湊
(類模板特化) [編輯]

[編輯] 示例