c++中的new关键字用法术
时间: 2024-03-03 16:05:14 浏览: 74
C++new 用法
在C++中,new是一个关键字,用于在堆上分配内存,并返回所分配内存的地址。new操作符的语法如下:
```c++
new type_name;
new type_name[expression];
```
其中,type_name是所需分配内存的类型,expression是用于指定所需内存大小的表达式。
使用new操作符可以动态地分配内存,这意味着程序可以在运行时根据需要分配所需大小的内存。同时,new操作符还会自动调用对象的构造函数,以初始化所分配内存的值。如果new操作符分配内存失败,它会抛出一个std::bad_alloc异常。
例如,下面是一个使用new操作符分配内存的简单例子:
```c++
int *p = new int; // 分配一个整型变量的内存
*p = 42; // 设置该变量的值
delete p; // 释放内存
```
在上面的例子中,使用new操作符分配了一个整型变量的内存,并将其赋值为42。最后,使用delete操作符释放了该内存。
另外,也可以使用new操作符来分配数组的内存,如下所示:
```c++
int *p = new int[10]; // 分配一个包含10个整型变量的数组
p[0] = 42; // 设置第一个变量的值
delete[] p; // 释放数组内存
```
在上面的例子中,使用new操作符分配了一个包含10个整型变量的数组,并将第一个变量的值设置为42。最后,使用delete[]操作符释放了该数组的内存。注意,释放数组内存时需要使用delete[]操作符。
阅读全文