下面试我在VC2008下面编译的完整代码, 思路是建立一个对话框程序, 点一下按钮执行一次func函数, 在资源管理器中你可以看到进程中的内存先涨后跌, 但是跌不回原来那么多,要比原来多一些
#include <vector>
using namespace std; class A
{
vector<int> v1;
vector<int> v2;
int num;
public:
A()
{
num = 0;
}
~A()
{
clear();
}
void clear()
{
v1.clear();
v2.clear();
num = 0;
} void add(int x)
{
v1.push_back(x);
v2.push_back(x);
num++;
}
};void Cvector_sampleDlg::func()
{
vector<A> av;
A a1;
for (int i = 0; i < 60000; i++)
for (int j = 0; j < 50; j++)
{
a1.clear();
a1.add(1);
a1.add(2);
a1.add(3);
av.push_back(a1);
} av.clear();}void Cvector_sampleDlg::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
func();
}
#include <vector>
using namespace std; class A
{
vector<int> v1;
vector<int> v2;
int num;
public:
A()
{
num = 0;
}
~A()
{
clear();
}
void clear()
{
v1.clear();
v2.clear();
num = 0;
} void add(int x)
{
v1.push_back(x);
v2.push_back(x);
num++;
}
};void Cvector_sampleDlg::func()
{
vector<A> av;
A a1;
for (int i = 0; i < 60000; i++)
for (int j = 0; j < 50; j++)
{
a1.clear();
a1.add(1);
a1.add(2);
a1.add(3);
av.push_back(a1);
} av.clear();}void Cvector_sampleDlg::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
func();
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货