new/delete和malloc/free的区别
2009-01-04 00:54
190 查看
malloc和free不知道构造函数和析构函数
malloc/free:只要给出想要的内存的长度就分配,并返加(void*)
new/delete:分配内存同时进行类型检测,内置了sizeof运算,如果分配类的话,自动调用类的构造函数,delete也是,释放内存时调类的析构
为什么有必要写自己的operator new和operator delete?
答案通常是:为了效率。缺省的operator new和operator delete具有非常好的通用性,它的这种灵活性也使得在某些特定的场合下,可以进一步改善它的性能。尤其在那些需要动态分配大量的但很小的对象的应用程序里,情况更是如此。
有这样一个方法来实现你的自定义的operator new:先让缺省operator new分配一些大块的原始内存,每块的大小都足以容纳很多个airplane对象。
malloc/free:只要给出想要的内存的长度就分配,并返加(void*)
new/delete:分配内存同时进行类型检测,内置了sizeof运算,如果分配类的话,自动调用类的构造函数,delete也是,释放内存时调类的析构
为什么有必要写自己的operator new和operator delete?
答案通常是:为了效率。缺省的operator new和operator delete具有非常好的通用性,它的这种灵活性也使得在某些特定的场合下,可以进一步改善它的性能。尤其在那些需要动态分配大量的但很小的对象的应用程序里,情况更是如此。
有这样一个方法来实现你的自定义的operator new:先让缺省operator new分配一些大块的原始内存,每块的大小都足以容纳很多个airplane对象。
相关文章推荐
- malloc/free与new/delete的区别
- new/delete 与malloc/free的区别与联系
- malloc/free与new/delete的区别
- malloc/free与new/delete的区别
- new delete与malloc free的区别
- malloc/free与new/delete的区别
- malloc/free与new/delete的区别
- malloc/free与new/delete的区别
- c++中malloc,free,new,delete区别和联系
- malloc/free与new/delete的区别
- new/delete 和malloc/free 的区别一般汇总
- malloc/free 和 new/delete 区别
- malloc/free与new/delete的区别
- malloc/free与new/delete的区别
- 百度笔试题:malloc/free与new/delete的区别
- new/delete 与 malloc/free 的区别是什么?
- 百度笔试题:malloc/free与new/delete的区别 .
- malloc/free与new/delete的区别
- malloc-free和new-delete之间的区别
- malloc/free与new/delete的区别