Namespaces
Variants

std:: declare_reachable

From cppreference.net
Memory management library
( exposition only* )
Allocators
Uninitialized memory algorithms
Constrained uninitialized memory algorithms
Memory resources
Uninitialized storage (until C++20)
( until C++20* )
( until C++20* )
( until C++20* )

Garbage collector support (until C++23)
declare_reachable
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
ヘッダーで定義 <memory>
void declare_reachable ( void * p ) ;
(C++11以降)
(C++23で削除)

ポインタ p によって参照されるオブジェクトを到達可能として宣言します。到達可能なオブジェクトは、たとえすべてのポインタが破棄されても、ガベージコレクタによって削除されず、リーク検出器によってリークとは見なされません。オブジェクトは複数回到達可能として宣言することができ、その場合このプロパティを解除するには std::undeclare_reachable の複数回の呼び出しが必要となります。例えば、 XORリンクリスト は、実装でガベージコレクションが有効になっている場合、そのノードを到達可能として宣言する必要があります。

目次

パラメータ

p - 安全に導出されたポインタまたはヌルポインタ

戻り値

(なし)

例外

システムが到達可能オブジェクトを追跡するために必要なメモリを割り当てられない場合、 std::bad_alloc をスローする可能性があります。

関連項目

(C++11) (removed in C++23)
オブジェクトが回収可能であることを宣言する
(関数テンプレート)