转自
new/new[]和delete/delete[]是如何分配和释放空间
new和malloc的区别
总结:
1. operator new/operator delete operator new[] /operator delete[] 和 malloc/free用法一 样。2. 他们只负责分配空间/释放空间, 不会调用对象构造函数/析构函数来初始化/清理对象。3. 实际operator new和operator delete只是malloc和free的一层封装。【 new作用】 调用operator new分配空间。 调用构造函数初始化对象。
【 delete作用】 调用析构函数清理对象 调用operator delete释放空间
【 new[] 作用】 调用operator new分配空间。 调用N次构造函数分别初始化每个对象。
【 delete[] 作用】 调用N次析构函数清理对象。 调用operator delete释放空间。