假设我已经声明了一个变量

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()

09-04 17:50