11.既然有了malloc-free,C++中为什么还需要new-delete呢?直接用malloc-free不好吗?
11.既然有了malloc-free,C++中为什么还需要new-delete呢?直接用malloc-free不好吗?
- malloc/free和new/delete都是用来申请内存和回收内存的。
- 在对非基本数据类型的对象使用的时候,对象创建的时候还需要执行构造函数,销毁的时候要执行析构函数。而malloc/free是库函数,是已经编译的代码,所以不能把构造函数和析构函数的功能强加给malloc/free,所以new/delete是必不可少的。