C++中有了malloc/free,为什么还需要new/delete?

C++中有了malloc/free,为什么还需要new/delete?

1、malloc/free是标准库函数,new/delete是C++的运算符。他们都可以申请堆上的动态内存和释放内存。
2、对于非内部数据类型的对象,需要自动执行构造/析构函数。由于malloc/free是库函数而不是运算符,不在编译器控制权限之内。
3、new/delete不是库函数,而是运算符,正好符合。

猜你喜欢

转载自blog.csdn.net/hlj1016412410/article/details/88175693