malloc与new区别

来源:互联网 发布:手机淘宝出现安全风险 编辑:程序博客网 时间:2024/06/15 04:06

malloc与new的区别这里已经总结的很好了

需要补充的是:

1、自定义类对象分配内存

new-delete对自定义类对象分配与释放时,会自动调用其默认构造函数与默认析构函数,而malloc-free则不会

2、释放初始化为NULL的指针,不会报错;但是对其解引用会出错

3、申请内存的头地址包含有该内存块的必要信息(暂且这么认为)

例如,

char* str = new char[100];//delete str;    //errorstr++;delete[] str;  //error
char* str = (char*)malloc(sizeof(char)*100);str++;free(str);     //error
原创粉丝点击