c++中NEW运算符的用法
2022-09-28 · 百度认证:北京惠企网络技术有限公司官方账号
c++中NEW运算符使用的一般格式为new 类型[初值]。用new分配数组空间时不能指定初值。如果由于内存不足等原因而无法正常分配空间,则new会返回一个空指针NULL,用户可以根据该指针的值判断分配空间是否成功。
1、newint:开辟一个存放整数的存储空间,返回一个指向该存储空间的地址(即指针)。
2、newint(100):开辟一个存放整数的空间,并指定该整数的初值为100,返回一个指向该存储空间的地址。
3、newchar[10]:开辟一个存放字符数组(包括10个元素)的空间,返回首元素的地址。
5、newint[5][4]:开辟一个存放二维整型数组(大小为5*4)的空间,返回首元素的地址。
6、float*p=newfloat(3.14159):开辟一个存放单精度数的空间,并指定该实数的初值为3.14159,将返回的该空间的地址赋给指针变量p。
扩展资料:
通过NEW运算符生成对象时,缓冲区会提前分配,可以使用堆的空间,也可以使用栈的空间。一旦这个对象使用完毕,就必须显式的调用类的析构函数进行销毁对象。但此时内存空间不会被释放,以便其他的对象的构造。
因此,如果缓冲区在堆中,那么调用delete[] buf;进行内存的释放;如果在栈中,那么在其作用域内有效,跳出作用域,内存自动释放。