假设我已经声明了一个变量
vector<int>* interList = new vector<int>();
interList->push_back(1);
interList->push_back(2);
interList->push_back(3);
interList->push_back(4);
第一个问题是当我push_back一个int时,会消耗内存空间吗?
第二个问题,如果我(删除interList),会自动释放1,2,3,4消耗的内存吗?
编辑:免费->删除
最佳答案
是的,如果您以后想在其中存储更多数据,向量类可能会自动分配比所需空间更大的空间,因此,每次push_back()
时,它可能不会分配新空间。
是的,但是您应该使用delete interList;
而不是free()
。