我正在为一个对象动态分配内存,然后如果我调用 delete 会发生什么? 析构函数被调用或删除函数有不同的内存处理方式?
考虑以下示例:
class A
{
int x;
}
int main()
{
A *ptr = new A();
delete ptr;
return 0;
}
析构函数在哪里调用?
最佳答案
带有 delete 运算符的表达式,首先调用适当的析构函数(如果需要),然后调用函数运算符 delete 释放存储。 看看here了解详情。
关于c++ - 删除调用析构函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9409774/