我有一个包含向量成员变量的类。
我知道存储在堆栈上的向量将是
当它们退出时被清理(即释放内存)
范围,但我不确定是否会破坏
类对象 - 包含向量成员变量 -
被认为超出范围。
如果不是,销毁的适当方法是什么
向量?
EG:
class fred {
char *stuff;
vector<int> v;
fred() : stuff(), v() {}
~fred() {
if (stuff) free(stuff);
// now how do I clear up the vector v? Will it be done automatically?
}
}
矢量已经为您清理干净了!当一个类被破坏时,它的所有成员析构函数也会被调用。在这种情况下v
的析构函数被调用,它会清理它分配的所有内容。
当您到达结束时,将调用非静态成员的 dtors}
析构函数的顺序与声明它们的顺序相反。然后调用您的基类析构函数(如果存在)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)