请大侠给看一下这个内存问题?
请各位看一下这段代码:
#include <iostream>
#include <vector>
using namespace std;
class CS
{
public:
CS();
~CS();
void init(int num);
public:
int kj;
int num;
int index;
int* no;
};
CS::CS ()
{
kj=num=0;index=0;no=NULL;
}
CS::~CS ()
{
delete [] no;
}
void CS::init(int number)
{
kj=0;
num=number;
index=0;
no=new int[number];
}
void fun()
{
cout<<sizeof(CS)<<endl;
const int size=10000;
cout<<"in"<<endl;
getchar(); //位置1
{
vector<CS> pcs(size);
for(int ii=0;ii<size;++ii)
{
pcs[ii].init (4);
pcs[ii].no [0]=12;
pcs[ii].no [1]=13;
pcs[ii].no [2]=14;
pcs[ii].no [3]=15;
}
}
cout<<" out "<<endl;
getchar(); // //位置2
}
int main()
{
fun();
return 0;
}
问题:
我在位置1处用资源管理器查看,程序用的内存是1152K,
在位置2处用资源管理器查看,程序用的内存是1208K,多出了56K的内存,
可是我不明白程序那里有内存泄露呢?
请指教,谢谢了!!