我有一个对象,其中包含指向其他对象的指针向量,如下所示:
class Object {
...
vector<Object*> objlist;
...
};
Run Code Online (Sandbox Code Playgroud)
现在,对象将以这两种方式添加到列表中:
Object obj;
obj.objlist.push_back(new Object);
Run Code Online (Sandbox Code Playgroud)
和
Object name;
Object* anon = &name;
obj.objlist.push_back(anon);
Run Code Online (Sandbox Code Playgroud)
如果做一个简单的析构函数
~Object {
for (int i = 0; i < objlist.size(); i++) {
delete objlist[i];
objlist[i] = NULL;
}
}
Run Code Online (Sandbox Code Playgroud)
在尝试删除未使用new创建的对象时会不会产生任何不良后果?