删除指向对象向量的向量中的元素

时间:2016-03-19 06:22:31

标签: c++ vector

我有一个矢量设置如下:

vector< vector<myClass>* > vec;

我无法从vec中删除元素但是,我已经动态分配了vec中的所有元素,并尝试删除第i个元素,如下所示:

vector<myClass> *victim = vec[i];
delete victim;
victim = 0;

然而,这似乎没有正确地从vec中删除它们。我在这里缺少什么?

1 个答案:

答案 0 :(得分:1)

尝试使用vector :: erase将其从矢量中删除。删除将仅释放内存,但除非您将其删除,否则向量将保留指针。

看一下这个答案https://stackoverflow.com/a/3385251/249120