在超出范围的结构 object 上

On a structure object falling out of scope

Header:

class Class{
    //...
};

struct structTest{
    std::vector<Class> stdvectorTest;
};

实施:

structTest structTest_Object;
//...

structTest_Object超出范围时,structTest_Object.stdvectorTest会怎样?我记得 struct 类似于 class 并且 std::vector 的析构函数释放内存。

structclass 相同,但为默认访问级别。

成员 stdvectorTest 以及其中的所有 Class 对象都已正确处理。

因为 structTest 拥有 stdvectorTest 作为值类型,它的析构函数将被调用。由于向量也包含您的 类 值,因此它们的析构函数也将被调用。