Namensräume
Varianten
Aktionen

std::declare_reachable

Von cppreference.com
< cpp‎ | memory
 
 
Speicherverwaltungsbibliothek
(nur Exposition*)
Algorithmen für uninitialisierten Speicher
(C++17)
(C++17)
(C++17)
Beschränkte uninitialisierte
Speicher-Algorithmen
C-Bibliothek

Allocatoren
Speicherressourcen
Unterstützung für Garbage Collection
declare_reachable
(C++11)(bis C++23)
(C++11)(bis C++23)
(C++11)(bis C++23)
(C++11)(bis C++23)
(C++11)(bis C++23)
(C++11)(bis C++23)
Uninitialisierter Speicher
Explizites Lebenszeitmanagement
 
Definiert in Header <memory>
void declare_reachable( void* p );
(seit C++11)
(in C++23 entfernt)

Deklariert das Objekt, auf das der Zeiger p verweist, als erreichbar. Erreichbare Objekte werden vom Garbage Collector nicht gelöscht oder bei einem Leckerkennungsgerät als Leck betrachtet, selbst wenn alle Zeiger darauf zerstört werden. Ein Objekt kann mehrmals als erreichbar deklariert werden, in welchem ​​Fall mehrere Aufrufe von std::undeclare_reachable erforderlich wären, um diese Eigenschaft zu entfernen. Zum Beispiel muss eine XOR-verkettete Liste ihre Knoten als erreichbar deklarieren, wenn die Implementierung Garbage Collection aktiviert hat.

Inhalt

[bearbeiten] Parameter

p - ein sicher abgeleiteter Zeiger oder ein Nullzeiger

[bearbeiten] Rückgabewert

(keine)

[bearbeiten] Ausnahmen

Kann std::bad_alloc auslösen, wenn das System nicht genügend Speicher zum Verfolgen erreichbarer Objekte zuweisen kann.

[bearbeiten] Siehe auch

(C++11)(entfernt in C++23)
deklariert, dass ein Objekt wiederverwendet werden kann
(Funktions-Template) [edit]