Chinaunix首页 | 论坛 | 博客
  • 博客访问: 667664
  • 博文数量: 150
  • 博客积分: 4070
  • 博客等级: 中校
  • 技术积分: 1795
  • 用 户 组: 普通用户
  • 注册时间: 2010-12-23 21:44
文章分类

全部博文(150)

文章存档

2012年(1)

2011年(123)

2010年(26)

分类: C/C++

2011-06-20 22:14:23

1、new/delete是C++中新增的,它们和malloc/free有着类似的功能是动态申请内存和释放内存。它们之间的区别是:new/delete是运算符,malloc/free是函数,对于非内部数据而言,由于要调用构造函数和析构函数,malloc/free是库函数,不在编译器的控制范围内,因此引入运算符new/delete来完成。
 
2、对于内部数据而言,使用malloc/free或new/delete没有什么区别,但是对于类类型时,则需要使用new/delete。
 
3、总结它们之间的区别为两点:
   使用new/delete时会调用构造函数和析构函数,而malloc/free不会;
   new/delete是运算符,malloc/free是函数。
阅读(571) | 评论(0) | 转发(0) |
0

上一篇:重载 覆盖 隐藏

下一篇:delete和delete []

给主人留下些什么吧!~~