vector对象调用clean()函数时,其包含的元素指向的对象是否能自动析构
我定义了一个Base类,然后定义了一个vector对象来存放指向Base类的对象指针,即vector<Base*>。然后我用new创建了几个Base对象,当把这几个对象的指针放到vector中。些时我调用vector对象的clean()函数时,会否调用Base对象的析构函数,对 我刚才用new生成的Base对象进行析构。还是要我自己用Vector中Base指针逐一调用delete进行手动析构。
class Base
{
......
};
vector<Base*> baseList;
Base base1* = new Base();
Base base2* = new Base();
Base base3* = new Base();
baseList.push_back(base1);
baseList.push_back(base2);
baseList.push_back(base3);
//些时我调用clean函数时能否自己把我刚才NEW的几个对象自动析构呢?
baseList.clean();
//如果不能自动析构,我是否自行对baseList中的每个对象调用一个delete呢?
class Base
{
......
};
vector<Base*> baseList;
Base base1* = new Base();
Base base2* = new Base();
Base base3* = new Base();
baseList.push_back(base1);
baseList.push_back(base2);
baseList.push_back(base3);
//些时我调用clean函数时能否自己把我刚才NEW的几个对象自动析构呢?
baseList.clean();
//如果不能自动析构,我是否自行对baseList中的每个对象调用一个delete呢?
...全文


