Namespaces
Variants
Views
Actions

Difference between revisions of "cpp/memory/gc/undeclare reachable"

From cppreference.com
< cpp‎ | memory
m ({{c}})
m (rm #Example section for GC.)
 
Line 18: Line 18:
 
===Exceptions===
 
===Exceptions===
 
Throws nothing.
 
Throws nothing.
 
===Example===
 
{{example
 
|code=
 
|output=
 
}}
 
  
 
===See also===
 
===See also===

Latest revision as of 13:30, 13 June 2023

 
 
Utilities library
General utilities
Relational operators (deprecated in C++20)
 
Dynamic memory management
Uninitialized memory algorithms
Constrained uninitialized memory algorithms
Allocators
Garbage collection support
(C++11)(until C++23)
undeclare_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)



 
Defined in header <memory>
template< class T >
T* undeclare_reachable( T* p );
(since C++11)
(removed in C++23)

Removes the reachable status of the object, referenced by the pointer p, if it was previously set by std::declare_reachable. If the object was declared reachable multiple times, equal number of calls to undeclare_reachable would be needed to remove this status. Once the object is not declared reachable and has no pointers referencing it, it may be reclaimed by garbage collector or reported as a leak by a leak detector.

Contents

[edit] Parameters

p - a pointer to an object previously declared reachable and not destructed since then

[edit] Return value

A safely-derived copy of p.

[edit] Exceptions

Throws nothing.

[edit] See also

(C++11)(removed in C++23)
declares that an object can not be recycled
(function) [edit]