1. delete用于释放new分配的空间。
free用于释放malloc分配的空间。
2. delete[] 用于释放new[] 分配的空间。
3. delete 释放空间时会调用相应对象的析构函数。
4.调用free之前需要检查需要释放的指针是否为空。
而调用delete则不需要。
5.两者最好不要混用。
即new分配的空间最好不要用free来释放。
malloc分配的空间最好不要用delete来释放。
个人记法:
一长一短(单词长度)。
即delete用来释放new分配的空间。
free用来释放malloc分配的空间。
补充:new在分配空间时会调用调用对象的构造函数,对对象进行初始化。
而malloc只是分配内存。