This question already has answers here:
c++ deleting vector class member memory in destructor
(4个答案)
4年前关闭。
说我有这样的课
将A实例化为k时,将创建intVector。但是,我的问题是,如果析构函数不处理intVector,则销毁k的指针时是否会回收分配给intVector的内存?
(4个答案)
4年前关闭。
说我有这样的课
class A {
public:
vector<int> intVector;
A() {
intVector.push_back(1);
};
~A(){};
};
int main() {
A *k = new A;
delete k;
}
将A实例化为k时,将创建intVector。但是,我的问题是,如果析构函数不处理intVector,则销毁k的指针时是否会回收分配给intVector的内存?
最佳答案
是的,编译器将在类的析构函数内生成代码以销毁所有成员变量(并调用派生该类的所有基类析构函数)
10-07 16:01