std::experimental::observer_ptr
來自 cppreference.com
定義於標頭檔案 <experimental/memory> |
||
template< class W > class observer_ptr; |
(庫基礎 TS v2) | |
std::experimental::observer_ptr
是一個非擁有的指標,或者說是*觀察器*。觀察器儲存一個指向第二個物件(稱為*被觀察物件*)的指標。一個 observer_ptr
也可以沒有被觀察物件。
觀察器不以任何方式對被觀察物件負責;觀察器和它所觀察的物件之間沒有固有的關係。
它旨在作為原始指標型別的一個接近的直接替代品,其優點是,作為一個詞彙表型別,它無需程式碼閱讀者進行詳細分析即可表明其預期用途。
observer_ptr
的特化滿足 CopyConstructible 和 CopyAssignable 的要求。
型別要求 | ||
-W 不應是引用型別,但可以是未完全型別。 |
目錄 |
[編輯] 成員型別
成員型別 | 定義 |
element_type | W ,此 observer_ptr 觀察的物件的型別 |
[編輯] 成員函式
構造一個新的 observer_ptr (公共成員函式) | |
(解構函式) (隱式宣告) |
析構一個 observer_ptr (公共成員函式) |
operator= (隱式宣告) |
隱式宣告的複製和移動賦值運算子,用於賦值儲存的指標 (公共成員函式) |
修改器 | |
返回一個指向被觀察物件的指標並停止觀察該物件 (公共成員函式) | |
替換被觀察物件 (公共成員函式) | |
交換被觀察物件 (公共成員函式) | |
觀察器 | |
返回一個指向被觀察物件的指標 (公共成員函式) | |
檢查是否存在關聯的被觀察物件 (公共成員函式) | |
解引用指向被觀察物件的指標 (公共成員函式) | |
轉換 | |
顯式轉換為儲存指標的轉換函式 (公共成員函式) |
[編輯] 非成員函式
建立一個觀察物件的 observer_ptr (函式模板) | |
與另一個 observer_ptr 或與 nullptr 進行比較(函式模板) | |
特化 swap 演算法(函式模板) |
[編輯] 輔助類
支援 observer_ptr 的雜湊(類模板特化) |
[編輯] 示例
本節不完整 原因:無示例 |