2016-11-17 101 views
2

说我有这样一类如果我在C++类中声明一个向量,它是否会被销毁,然后类的instate被销毁?

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分配的内存是否会被回收?

+0

你的析构函数是正确的。 – Jarod42

回答

1

是,编译器将生成代码的类的析构函数内销毁所有成员变量(以及任何调用基类的析构函数类源自)

+0

谢谢!我想这应该删除,因为类中的变量被删除,但不知道如何。 – Musen

相关问题