【发布时间】:2017-10-16 09:52:28
【问题描述】:
在我的代码中,我定义了一个数组:
std::vector< std::pair<int,int> > *line_sep=new std::vector< std::pair<int,int> > [16];
在我的测试中,当我使用delete []line_sep;时,我发现我的计算机内存使用量正在缓慢上升。
我只想释放 line_sep 内存。
16 个向量对!.. 经验
std::vector< std::pair<int,int> > *line_sep=new std::vector< std::pair<int,int> > [16];
for(int i=0;i<16;i++){
for(int j=0;j<1700;j++){
if(....)line_sep[i].push_back({Begin,End});
}
}
fun(line_sep);
delete []line_sep;
【问题讨论】:
-
内存使用缓慢上升意味着您没有删除所有内容。
-
只需使用
std::vector<std::vector<std::pair<int, int>>>。 -
还有:16 个向量对?
-
如果你想在函数结束时删除向量,不要动态分配它。我想你可能正在寻找
std::vector< std::pair<int,int> > line_sep(16);
标签: c++ c++11 memory memory-leaks c++builder