vector.clear()问题
object *a = new object();
object *b = new object();
object *c = new object();
vector<object*> v;
v.push_back(b);
v.push_back(a);
v.push_back(c);
v.clear();
是只将指针删除了,还是将声明的内存空间都释放了?就是相当于有没有delete掉?
[解决办法]
只是清空了容器.
new出来的对象还是要在程序中写明:
delete a;
[解决办法]
相当于没有delete掉.
他只把指针给你清了,
指针指向的new出来的东西就彻底失去delete的机会了。
内存泄露了。