您的位置:首页 > 编程语言 > C语言/C++

C++ 与C语言 动态分配内存的区别

2016-06-01 15:23 232 查看
#include<iostream>
using namespace std;

struct book
{
int num;
float price;
struct book *next;
}

int main()
{
// C语言方法
/* malloc()开辟是没有类型的地址 */
void *p = malloc(sizeof(book));
/* 删除 */
frre(p);
// C++
book *p = new book;
delete p;
/* 上面第种方式的区别是:
第一种方式是标准库函数
第二种是C++的操作符
由于malloc和free函数产生于C语言时代,因此不可用
在C++的对象中,因为对象的产生要调用构造函数。
消灭要用析构函数。malloc和free函数无法满足这
二个基本要求。
一般来说在C++由于有了new 和 delete ,malloc 和 free 函数就
不再使用了,所以在C++中对动态链表的操作将使用new 和 delete.
*/
system("pause");
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: