From cppreference.com
voiddeclare_reachable(void*p);(since C++11)
(removed in C++23)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
would be needed to remove this property. For example, a
needs to declare its nodes reachable if the implementation has garbage collection enabled.
Parameters
p - a safely-derived pointer or a null pointer Return value
(none)
Exceptions
May throw
if the system cannot allocate memory required to track reachable objects.
See also