std:: declare_reachable
From cppreference.net
C++
Memory management library
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
定义于头文件
<memory>
|
||
|
void
declare_reachable
(
void
*
p
)
;
|
(C++11 起)
(C++23 中移除) |
|
声明指针 p 所引用的对象为可达状态。可达对象即使所有指向它的指针都被销毁,也不会被垃圾回收器删除,也不会被泄漏检测器视为泄漏。可以多次声明某个对象为可达状态,此时需要多次调用 std::undeclare_reachable 才能移除该属性。例如,当实现启用了垃圾回收机制时, XOR链表 需要声明其节点为可达状态。
目录 |
参数
| p | - | 安全派生指针或空指针 |
返回值
(无)
异常
若系统无法分配追踪可达对象所需的内存,可能抛出 std::bad_alloc 。
参见
|
(C++11)
(removed in C++23)
|
声明对象可被回收
(函数模板) |