std::allocator<T>::destroy
定义于头文件 <memory>
直到 C++11
// 1)
void destroy( pointer p );
C++11 起,C++17 中弃用,C++20 中移除
// 2)
template< class U >
void destroy( U* p );
调用 p
所指向对象的析构函数。
调用 p->~T()
。
2) 调用 p->~U()
。
参数
p
- 指向即将被销毁的对象的指针
返回值
(无)
缺陷报告
以下改变行为的缺陷报告已追溯应用于先前发布的 C++ 标准。
DR | 应用于 | 发布时的行为 | 正确行为 |
---|---|---|---|
LWG 400 | C++98 | p 被转换为 T* ,这是 p 的类型 | 移除了冗余的类型转换 |