当我用“擦除”删除矢量中的元素时,则没有清除内存。例如,我制作了一个尺寸为2000的矢量。创建之后,程序使用1.5 MB内存。当我进行擦除调用时,什么都不会被清除。所有的元素都消失了。但他们仍在记忆中。如何删除矢量中的元素。 (擦除将不起作用)
例如:
#include <iostream>
#include <vector>
using namespace std;
int main()
{
//Makes a vector of 2000 items
vector<int> test(200000);
//Pause for test purpose
system("pause");
//erase all elements
test.erase(test.begin(),test.end());
//Pause for test purpose
system("pause");
return false;
}
尺寸返回0。但是,这一过程仍然使用的存储器1,5MB。
你如何测量进程正在使用的内存? – 2012-02-15 07:52:27
也许你应该阅读: http://stackoverflow.com/questions/586634/shrinking-a-vector 希望它能帮助。 – 2012-02-15 07:54:40