可能重复:
在 C++ STL 中删除包含向量的动态分配对象
我有这样的结构
struct foo {
vector<int> myvector;
};
现在,我创建一个指向 foo 的指针,调整大小并将一些元素插入到向量中。
foo *myfoo = new foo;
myfoo->myvector.resize(100);
myfoo->myvector.push_back(0);
myfoo->myvector.push_back(1);
... // and so on
现在,在 myfoo 超出范围之前,我必须释放分配给它的内存
delete myfoo;
我的问题是这是否也会释放 myvector?我有这个特定的查询,因为现在 myvector 已调整大小,STL 库可能会在堆中分配容器。因此,当我释放 myfoo 时,我不希望分配给 myvector 的内存泄漏。