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)
Definiert im Header <memory>
void declare_reachable ( void * p ) ;
(seit C++11)
(entfernt in C++23)

Erklärt das Objekt, auf das der Zeiger p verweist, als erreichbar. Erreichbare Objekte werden weder vom Garbage Collector gelöscht noch von einem Leck-Detektor als Speicherleck betrachtet, selbst wenn alle Zeiger darauf zerstört werden. Ein Objekt kann mehrfach als erreichbar deklariert werden, in diesem Fall wären mehrere Aufrufe von std::undeclare_reachable erforderlich, um diese Eigenschaft zu entfernen. Zum Beispiel muss eine XOR-Verkettete Liste ihre Knoten als erreichbar deklarieren, wenn die Implementierung Garbage Collection aktiviert hat.

Inhaltsverzeichnis

Parameter

p - ein sicher abgeleiteter Zeiger oder ein Nullzeiger

Rückgabewert

(keine)

Exceptions

Kann std::bad_alloc werfen, falls das System den zur Verfolgung erreichbarer Objekte benötigten Speicher nicht allozieren kann.

Siehe auch

(C++11) (removed in C++23)
deklariert, dass ein Objekt recycelt werden kann
(Funktions-Template)