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

来源:互联网 发布:北京赛车pk10数据采集 编辑:程序博客网 时间:2024/05/17 09:02
#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");  } 

0 0
原创粉丝点击