C++拾遗--malloc free与new delete的同与不同
前言
在C中我们常使用malloc和free来动态分配与释放内存,在C++中对应的是new和delete。这里我们来探讨下他们的同与不同。
正文
1.内置类型
对相同的代码进行调试,查看内存
#include <iostream>
using namespace std;
int main()
{
int *p = (int*)malloc(sizeof(int) * 10);
cout << p << endl;
//断点
for (int i = 0; i < 10; i++)
p[i] = i;
//断点
free(p);
//断点
cin.get();
return 0;
}
调试

本文探讨C++中malloc/free与new/delete在处理内置类型和类类型时的异同。对于内置类型,两者效果相同;而对于类类型,new会调用构造函数,delete会调用析构函数,而malloc/free则不会。
最低0.47元/天 解锁文章
1180

被折叠的 条评论
为什么被折叠?



