1、new是 *** 作符,可以被重载,malloc()是库函数。
C++不可以被重载的运算符,一共有五个,分别是
(1).点运算符、
(2)::命名空间运算符
(3)?:条件运算符
(4)*取值运算符
(5)sizeof运算符
2、new和malloc()都可以申请动态内存,但new申请的内存在自由存储区,而malloc()申请的内存在堆区
3、new的返回值为严格按照申请声明的同类型的指针,而malloc返回void类型指针
4、new的内存申请失败后抛出bad_alloc异常,malloc返回NULL
可以使用try catch(bad_alloc)处理异常
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)