在超出范围的结构 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
的析构函数释放内存。
struct
与 class
相同,但为默认访问级别。
成员 stdvectorTest
以及其中的所有 Class
对象都已正确处理。
因为 structTest 拥有 stdvectorTest 作为值类型,它的析构函数将被调用。由于向量也包含您的 类 值,因此它们的析构函数也将被调用。
Header:
class Class{
//...
};
struct structTest{
std::vector<Class> stdvectorTest;
};
实施:
structTest structTest_Object;
//...
当structTest_Object
超出范围时,structTest_Object.stdvectorTest
会怎样?我记得 struct
类似于 class
并且 std::vector
的析构函数释放内存。
struct
与 class
相同,但为默认访问级别。
成员 stdvectorTest
以及其中的所有 Class
对象都已正确处理。
因为 structTest 拥有 stdvectorTest 作为值类型,它的析构函数将被调用。由于向量也包含您的 类 值,因此它们的析构函数也将被调用。