operator new 和new的区别?

SatanLi1982 2003-02-16 01:17:47
operator new 和new的区别?还有operator delete和delete的区别?
...全文
98 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
allen_zhaozhencn 2003-02-16
  • 打赏
  • 举报
回复 2
operator new是一个操作符,当用户需要分配内存空间时(仅分配内存空间),可以使用它。它将返回一个void* 类型的指针。
(我们通常可以重载该操作)
new : 它是C++ 提供在堆中生成对象的关键字,当用户调用new来生成一个对象时,C++编译器会先调用该类的 operator new 来分配内存空间, 然后调用类的构造函数来初始化类的成员变量。(new 的默认行为不能改变。)

至于operator delete和 delete 则与上面的讲述刚好相反。

zheyeah 2003-02-16
  • 打赏
  • 举报
回复
同样 还是去看看<<more Effective C++>>ITEM M8:理解各种不同含义的NEW和DELETE,又全文字又清楚。
chinajiji 2003-02-16
  • 打赏
  • 举报
回复
new是一个操作,由:
operator new() + constructor组成;
operator new 是一个可以重载的运算符.

delete 由:

deconstuctor + operator delete()组成;
operator delete()同样是一个可以重载的运算符.
efstudent 2003-02-16
  • 打赏
  • 举报
回复
有区别吗?只是叫法不一样,在重载new时,一般叫做operator new ,在使用new时,则直接叫new。

allen1981813 2003-02-16
  • 打赏
  • 举报
回复
new 是个运算符号,不是函数,
既然是运算符号,那就是说可以overload.

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧