class test
{
public:
test()
{
//cout<<"test initializl"<<endl;
}
}; CMemoryState msOld, msNew, msDif;
msOld.Checkpoint(); test *pt=new test; //定义NEW了一个test指针
pt = new(test); //??这里又定义一个test
delete pt; //这里删除了一次
msOld.DumpAllObjectsSince();
msNew.Checkpoint();
msDif.Difference( msOld, msNew );
msDif.DumpStatistics();
结果:
Object dump complete.
0 bytes in 0 Free Blocks.
1 bytes in 1 Normal Blocks.
0 bytes in 0 CRT Blocks.
0 bytes in 0 Ignore Blocks.
0 bytes in 0 Client Blocks.
Largest number used: 0 bytes.
Total allocations: 2 bytes.
class test
{
public:
test()
{
//cout<<"test initializl"<<endl;
}
}; CMemoryState msOld, msNew, msDif;
msOld.Checkpoint(); test *pt=new test; //定义NEW了一个test指针
delete pt; //这里删除了一次
msOld.DumpAllObjectsSince();
msNew.Checkpoint();
msDif.Difference( msOld, msNew );
msDif.DumpStatistics();结果:
Dumping objects ->
Object dump complete.
0 bytes in 0 Free Blocks.
0 bytes in 0 Normal Blocks.
0 bytes in 0 CRT Blocks.
0 bytes in 0 Ignore Blocks.
0 bytes in 0 Client Blocks.
Largest number used: 0 bytes.
Total allocations: 1 bytes.1字节和2字节的区别在。。?--请教有没有内存泄漏?--偶初学,不懂请指教
{
public:
test()
{
//cout<<"test initializl"<<endl;
}
}; CMemoryState msOld, msNew, msDif;
msOld.Checkpoint(); test *pt=new test; //定义NEW了一个test指针
pt = new(test); //??这里又定义一个test
delete pt; //这里删除了一次
msOld.DumpAllObjectsSince();
msNew.Checkpoint();
msDif.Difference( msOld, msNew );
msDif.DumpStatistics();
结果:
Object dump complete.
0 bytes in 0 Free Blocks.
1 bytes in 1 Normal Blocks.
0 bytes in 0 CRT Blocks.
0 bytes in 0 Ignore Blocks.
0 bytes in 0 Client Blocks.
Largest number used: 0 bytes.
Total allocations: 2 bytes.
class test
{
public:
test()
{
//cout<<"test initializl"<<endl;
}
}; CMemoryState msOld, msNew, msDif;
msOld.Checkpoint(); test *pt=new test; //定义NEW了一个test指针
delete pt; //这里删除了一次
msOld.DumpAllObjectsSince();
msNew.Checkpoint();
msDif.Difference( msOld, msNew );
msDif.DumpStatistics();结果:
Dumping objects ->
Object dump complete.
0 bytes in 0 Free Blocks.
0 bytes in 0 Normal Blocks.
0 bytes in 0 CRT Blocks.
0 bytes in 0 Ignore Blocks.
0 bytes in 0 Client Blocks.
Largest number used: 0 bytes.
Total allocations: 1 bytes.1字节和2字节的区别在。。?--请教有没有内存泄漏?--偶初学,不懂请指教
解决方案 »
- 第一次用ADO.怎么安全关闭记录集和释放资源.
- 用SkinMagicLib改变对话框皮肤为什么不能最大化
- 基于对话框的mfc程序产生的exe不能用,请高手指教!
- 我在用向导生成项目的时候,选择乐context-sensitive Hlep
- 如何打包程序,以让其从网页自动安装???
- 问:vc下的友元函数
- 如何在Internet Explorer的右键菜单加上一个命令,并且和我的程序关联
- 高分-->如何编程实现清空浏览器缓存?
- 怎样改变保存时的图片大小?(100分)
- 谁能告诉我<<Visual C++6.0模板库参考手册>>和Active控件有何关系
- 怎样将gb2312转换为iso8859-1编码?
- 程序中开了几个线程,他们占用cpu时间片相等吗?
第一个分配两次 总共分配的内存是两个test的大小2
第一个分配两次 总共分配的内存是1一中分配
1 bytes in 1 Normal Blocks.如果程序结束时还没有释放,那就是内存泄漏了.
其实所谓内存泄漏就是在程序运行中呈发散状态的内存分配,稳定的不算
比如单件类顺便问一下上面兄弟,为什么sizeof(test)是1呢?我觉得理论上该是0