您的位置:首页 > 其它

【每日一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 !
           
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息