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);
慕桂英546537
TA贡献1848条经验 获得超10个赞
C语言中“new”是一个关键字,同时也是操作符。
当我们使用关键字new在堆上动态创建一个对象时,它实际上做了三件事:获得一块内存空间、调用构造函数、返回正确的指针。当然,如果我们创建的是简单类型的变量,那么第二步会被省略。
- 2 回答
- 0 关注
- 766 浏览
添加回答
举报
0/150
提交
取消