c语言这new是什么作用

如题所述

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);
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-09-12
C语言中“new”是一个关键字,同时也是操作符。
当我们使用关键字new在堆上动态创建一个对象时,它实际上做了三件事:获得一块内存空间、调用构造函数、返回正确的指针。当然,如果我们创建的是简单类型的变量,那么第二步会被省略。
第2个回答  2015-09-12
这个new不是C语言中的,而是C++ 中的。 new后面是一个函数名。new的作用是给对象分配内存空间,很像C语言中的malloc函数,new 返回分配的空间的首地址。
第3个回答  2018-03-14
首先说明new是C++语言的,C没有
在new后面写上一个类型,会在内存中分配空间,并自动调用这个类型的构造函数
然后返回一个指向这块内存的指针,这样就完成了新建一个此类型变量

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网