我想知道这个代码是否泄露了:
int main()
{
`boost::ptr_vector <char> v;` `v.push_back(new char[10]);` `v.clear()`}
ptr_vector析构函数或clear()函数会删除它包含的指针吗?还是我必须自己去做?
发布于 2011-02-10 04:48:36
从矢量文档(http://www.cplusplus.com/reference/stl/vector/~vector/):
向量析构函数
析构容器对象。这将调用每个包含元素的析构函数,并释放该向量分配的所有存储容量。
delete[]不会被调用,所以它会泄漏。正如其他评论者指出的那样,有更多的STL方法可以做到这一点。
https://stackoverflow.com/questions/4949992
复制相似问题