如果可以提供帮助,最好不要直接分配向量。所以你的代码看起来像这样:
vector<int> interList;
interList.push_back(1);
interList.push_back(2);
interList.push_back(3);
interList.push_back(4);
现在,当 interList 超出范围时,所有内存都会被释放。事实上,这是 C++ 的所有资源管理的基础,有点通俗地称为 RAII(资源获取是初始化)。
现在,如果您觉得绝对必须分配向量,则应该使用资源管理智能指针之一。在这种情况下,我使用 shared_ptr
auto interList = std::make_shared<vector<int>>();
interList->push_back(1);
interList->push_back(2);
interList->push_back(3);
interList->push_back(4);
现在这也将释放所有内存,您永远不需要调用 delete。更重要的是,您可以将 interList 传递给您,它会为您引用计数。当最后一个引用丢失时,向量将被释放。