名稱空間
變體
操作

std::declare_reachable

來自 cppreference.com
< cpp‎ | 記憶體
 
 
記憶體管理庫
(僅作說明*)
未初始化記憶體演算法
(C++17)
(C++17)
(C++17)
受約束的未初始化
記憶體演算法
C 庫

分配器
記憶體資源
垃圾回收支援
declare_reachable
(C++11)(直到 C++23)
(C++11)(直到 C++23)
(C++11)(直到 C++23)
(C++11)(直到 C++23)
(C++11)(直到 C++23)
(C++11)(直到 C++23)
未初始化儲存
(直到 C++20*)
(直到 C++20*)
顯式生命週期管理
 
定義於標頭檔案 <memory>
void declare_reachable( void* p );
(C++11 起)
(在 C++23 中移除)

宣告指標 p 引用的物件是可達的。可達物件不會被垃圾回收器刪除,也不會被記憶體洩漏檢測器視為洩漏,即使所有指向它的指標都被銷燬。一個物件可以被多次宣告為可達,在這種情況下,需要多次呼叫 std::undeclare_reachable 來移除此屬性。例如,如果實現啟用了垃圾回收,XOR 連結串列需要宣告其節點可達。

目錄

[編輯] 引數

p - 一個安全派生的指標或空指標

[編輯] 返回值

(無)

[編輯] 異常

如果系統無法分配跟蹤可達物件所需的記憶體,可能會丟擲 std::bad_alloc

[編輯] 參閱

(C++11)(在 C++23 中已移除)
宣告一個物件可以被回收
(函式模板) [編輯]