为了账号安全,请及时绑定邮箱和手机立即绑定

c语言这new是什么作用 ?

c语言这new是什么作用 ?

C++
慕盖茨4494581 2019-02-07 19:07:09
c语言这new是什么作用 
查看完整描述

2 回答

?
暮色呼如

TA贡献1853条经验 获得超9个赞

new是C++中用于动态内存分配的运算符,在C语言中一般使用malloc函数
有三种用法:new operator、operator new、placement new

1)new operator:

new operator是最常见的用法,如 Emp* e1 = new Emp;(Emp是一个类) 这里new有两种作用:分配空间、初始化对象(调用了构造函数)
2)operator new:

operator new作用是只分配空间,不调用构造函数,如:Emp* e2 = (Emp*)operator new(sizeof(Emp));
3)placement new:

placement new作用是在已分配好的空间上初始化对象,不分配空间,调用拷贝构造函数,如:new ((void *)e2) Emp(*tb1);

查看完整回答
反对 回复 2019-03-10
?
慕桂英546537

TA贡献1848条经验 获得超10个赞

C语言中“new”是一个关键字,同时也是操作符。
当我们使用关键字new在堆上动态创建一个对象时,它实际上做了三件事:获得一块内存空间、调用构造函数、返回正确的指针。当然,如果我们创建的是简单类型的变量,那么第二步会被省略。

查看完整回答
反对 回复 2019-03-10
  • 2 回答
  • 0 关注
  • 766 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信