您的位置:首页 > 其它

'scalar deleting destructor' 和 'vector deleting destructor'的区别

2013-05-12 15:11 411 查看
在C++的的虚表中的以一个函数往往是'scalar deleting destructor'或 'vector deleting destructor',这两个函数的主要区别是:

void scalar_deleting_destructor(A* pa)
{
pa->~A();
A::operator delete(pa);
}

void vector_deleting_destructor(A* pa, size_t count)
{
for (size_t i = 0; i < count; ++i)
pa[i].~A();
A::operator delete[](pa);
}

scalar deleting destructor代表对象的析构函数代理;对应的delete A;

'vector deleting destructor'代表对象数组的析构函数代理; 对应的delete [] A;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: