如果我在c++类中声明一个向量,它是否会被销毁,然后类的状态也会被销毁

If I declare a vector in a C++ class, will it be destroyed then the instate of class is destroyed?

本文关键字:是否 然后 状态 一个 c++ 声明 如果 向量      更新时间:2023-10-16

假设我有这样一个类

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的内存会被回收吗?

是的,编译器将在类的析构函数中生成代码来销毁所有成员变量(并调用派生类的任何基类析构函数)

相关文章: