< cpp‎ | memory
Utilities library
Type support (basic types, RTTI, type traits)
Dynamic memory management
Error handling
Program utilities
Variadic functions
Date and time
Function objects
Relational operators
Optional and any
Pairs and tuples
Swap, forward and move
Type operations
Defined in header <memory>
void declare_reachable( void* p );
(since C++11)

Declares the object referenced by the pointer p reachable. Reachable objects will not be deleted by the garbage collector or considered to be a leak by a leak detector even if all pointers to it are destroyed. An object may be declared reachable multiple times, in which case multiple calls to std::undeclare_reachable would be needed to remove this property. For example, a XOR linked list needs to declare its nodes reachable if the implementation has garbage collection enabled.


[edit] Parameters

p - a safely-derived pointer or a null pointer

[edit] Return value


[edit] Exceptions

May throw std::bad_alloc if the system cannot allocate memory required to track reachable objects.

[edit] Example

[edit] See also

declares that an object can be recycled
(function template)