malloc free 与 new delelte的区别

来源:互联网 发布:黑龙江优化发展环境 编辑:程序博客网 时间:2024/05/22 00:48

对于基本数据类型  malloc free 和  new  delete  的效果一样,有一点不同

 free (p);  delete p

 free 不改变p的值,delete 改变p的值,指向了一个特殊位置p=0X08123;

因此为了避免迷途指针,释放的指针应设定为nullptr;

malloc free 对于复杂数据类型class  struct  他们不会调用构造和析构函数。从C过来的函数老。会造成内存泄露。

new  delete 会调用构造和析构函数。

0 0