21xrx.com
2024-06-02 23:33:27 Sunday
登录
文章检索 我的文章 写文章
C++中的new函数用法
2023-07-11 18:13:18 深夜i     --     --
C++ new函数 内存分配 对象创建 操作符重载

C++中的new函数可用于动态分配内存,它不仅可以分配基本数据类型的内存,还可以用于分配对象、数组和结构体等复杂类型的内存。

语法如下:


指针变量 = new 数据类型;

指针变量 = new 数据类型[元素个数];

第一种方式分配单个数据类型的内存,例如:


int *p = new int;

该语句会在堆空间上分配一块大小为int类型的内存,并返回一个指向该内存的地址的指针。

在动态分配内存时,需要记得释放内存。释放内存使用delete操作符,如下所示:


delete 指针变量;

delete[] 指针变量;

第二种方式分配数组内存,例如:


int *p = new int[10];

该语句会在堆空间上分配一块大小为10个int类型的连续内存,并返回指向第一个元素的指针。

数组内存的释放需要使用delete[]操作符,如下所示:


delete[] 指针变量;

需要注意的是,当使用new函数分配内存时,仅仅只是在堆上分配了一块内存,而不会对其进行初始化。因此,动态分配内存时需要自行进行变量的初始化操作,否则将会得到无法预知的结果。同时,释放内存时要确保指针的指向不为空,否则会产生未定义的行为。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复