在C++中std::allocator
,有三种与常见概念相关的方法:
deallocate
destroy
我想知道:
谢谢!
编辑:更具体的疑虑:
我很抱歉首先概括一下,这里有一点我不明白.
destroy
被用来调用对象的析构函数,什么是"对象"在这里的意思?再次感谢你!
只是cppreference.com文档中的简短说明对我来说非常清楚
“ 1.析构函数做什么?文档没有讨论在调用析构函数时是否将自动释放内存”
std::allocator
实例占用的所有内存将照常释放。
“ 2.
destroy
用于在对象上调用析构函数,这里的“对象”是什么意思?”
再次引用详细文档
void destroy( pointer p ); // 1)
template< class U > // 2)
void destroy( U* p );
Run Code Online (Sandbox Code Playgroud)
调用由p指向的对象的析构函数
1)调用((T*)p)->~T()
2)调用p->~U()
对象在此上下文中意味着类型的对象T
由被管理std::allocator
的实例。
归档时间: |
|
查看次数: |
4078 次 |
最近记录: |