【每日一C之六】new 与 malloc
2014-03-30 12:05
225 查看
每日一C之new与malloc
每天拾一个C语言贝壳,厚积薄发,积跬步以致千里。今日贝壳:C/C++中new/delete与malloc/free小辨析
区别:
1.new/delete是C++运算符,malloc/free是C函数。
2.new同时调用构造函数,delete时调用析构函数。
3.malloc/free开辟的空间类型为void,需强制转换类型,如
int *p=(int *)malloc(sizeof(int)*4);
4.new开辟的空间带有类型信息,不需再类型转换,如
int *p=new int[4];
共同点:1.两者都是动态内存的方法,均需开发者自行开辟与释放。
2.两者开辟的空间都是在堆区。
小结:C/C++可以说已经融为一体了。程序使用了类的情况下,malloc/free往往不能满足要求,其释放内存前需手动调用析构函数,new/delete可以为开发者减轻不少负担。
Have
a nice day !
相关文章推荐
- C++中new和malloc的区别
- new与malloc的区别
- 细说new与malloc的10点区别
- new与malloc区别
- 关于 C++ 的 new、delete 与 C 的 malloc、free 的区别
- malloc和new的区别
- C++内存分配秘籍—new,malloc,GlobalAlloc详解
- new和malloc区别
- 细说new与malloc的10点区别
- C++ - new与malloc的差别
- C++之new、delete 与malloc、free的异同
- malloc,new,heapAlloc,virtualAlloc
- HeapAlloc,GlobalAlloc,LocalAlloc,VirtualAlloc,malloc,new的异同
- new语句创建的对象,相当于使用一堆malloc
- malloc和new的区别
- new/delete 和malloc/free 的区别一般汇总
- C/C++中 malloc和new
- new和malloc的区别
- new和malloc
- malloc,free和new,delete的区别