命名空間
變體
動作

std::experimental::observer_ptr

出自 cppreference.com
 
 
實驗性
技術規範
檔案系統函式庫 (filesystem TS)
函式庫基礎 (library fundamentals TS)
函式庫基礎 2 (library fundamentals TS v2)
函式庫基礎 3 (library fundamentals TS v3)
平行化擴充 (parallelism TS)
平行化擴充 2 (parallelism TS v2)
並行化擴充 (concurrency TS)
並行化擴充 2 (concurrency TS v2)
概念 (concepts TS)
範圍 (ranges TS)
反射 (reflection TS)
數學特殊函數 (special functions TR)
實驗性非 TS
模式匹配
線性代數
std::execution
合約
2D 圖形
 
 
 
定義於標頭檔 <experimental/memory>
template< class W >
class observer_ptr;
(Library Fundamentals TS v2)

std::experimental::observer_ptr 是一種非擁有型指標(non-owning pointer),亦稱為觀察者(observer)。該觀察者儲存一個指向第二個物件的指標,稱為被觀察物件(watched object)observer_ptr 也可以不指向任何被觀察物件。

觀察者對被觀察物件不負任何責任;觀察者與其所觀察的物件之間不存在內在關係。

它旨在作為原始指標類型的近乎直接的替代品,其優勢在於作為一種詞彙類型(vocabulary type),它無需程式碼閱讀者進行詳細分析即可表明其預期用途。

observer_ptr 的特化版本滿足 CopyConstructible(可複製建構)與 CopyAssignable(可複製指派)的需求。

類型要求
-
W 不得為參照類型,但可以是未完成類型(incomplete type)。

目錄

[編輯] 成員類型

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

[編輯] 成員函式

建構一個新的 observer_ptr
(公開成員函式) [編輯]
(解構函式)
(隱式宣告)
解構一個 observer_ptr
(公開成員函式) [編輯]
operator=
(隱式宣告)
隱式宣告的複製與移動指派運算子,用於指派儲存的指標
(公開成員函式) [編輯]
修改器
傳回指向被觀察物件的指標並停止觀察該物件
(公開成員函式) [編輯]
更換被觀察的物件
(公開成員函式) [編輯]
交換被觀察的物件
(公開成員函式) [編輯]
觀察器
傳回指向被觀察物件的指標
(公開成員函式) [編輯]
檢查是否有相關聯的被觀察物件
(公開成員函式) [編輯]
解參照(dereference)指向被觀察物件的指標
(公開成員函式) [編輯]
轉換
至所儲存指標的顯式轉換函式
(公開成員函式) [編輯]

[編輯] 非成員函式

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

[編輯] 輔助類別

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

[編輯] 範例

English Deutsch 日本語 中文(简体) 中文(繁體)