读书人

vector.clear()有关问题

发布时间: 2012-03-25 20:55:16 作者: rapoo

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的机会了。

内存泄露了。

读书人网 >C++

热点推荐