std::undeclare_reachable

来自cppreference.com
< cpp‎ | memory
 
 
工具库
通用工具
日期和时间
函数对象
格式化库 (C++20)
(C++11)
关系运算符 (C++20 中弃用)
整数比较函数
(C++20)(C++20)(C++20)
(C++20)
swap 与类型运算
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
常用词汇类型
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)
(C++23)
初等字符串转换
(C++17)
(C++17)
 
动态内存管理
未初始化内存算法
受约束的未初始化内存算法
分配器
垃圾收集支持
(C++11)(C++23 前)
undeclare_reachable
(C++11)(C++23 前)
(C++11)(C++23 前)
(C++11)(C++23 前)
(C++11)(C++23 前)
(C++11)(C++23 前)



 
在标头 <memory> 定义
template< class T >
T* undeclare_reachable( T* p );
(C++11 起)
(C++23 中移除)

移除指针 p 所引用对象的可抵达状态,若先前为 std::declare_reachable 所设。若多次声明对象为可抵达,则需要相等次数的到 undeclare_reachable 的调用移除此属性。一旦对象不再声明为可抵达,且没有指针引用它,则它可能为垃圾收集器所回收,或被泄露检测器报告为泄露。

参数

p - 指向先前声明为可抵达且之后未被析构的对象的指针

返回值

p 的安全派生副本。

异常

不抛出。

示例

参阅

(C++11)(C++23 中移除)
声明一个对象不能被回收
(函数)