c++

c++中new和delete怎么使用

小亿
107
2023-09-27 03:06:34
栏目: 编程语言

在C++中,new和delete是用来动态分配和释放内存的操作符。

  1. 使用new操作符动态分配内存:
int* p = new int; // 分配一个int类型的内存空间,并将其地址赋给指针p

在这个例子中,new操作符会在堆上分配一块int类型大小的内存空间,并返回这块内存的地址。然后,将这个地址赋给指针p,使其指向这块内存空间。

如果需要动态分配一个数组,可以使用以下语法:

int* arr = new int[10]; // 分配一个包含10个int元素的数组
  1. 使用delete操作符释放内存:
delete p; // 释放指针p所指向的内存空间

在这个例子中,delete操作符会释放指针p所指向的内存空间,并回收这块内存。

如果是释放动态分配的数组,需要使用delete[]操作符:

delete[] arr; // 释放动态分配的数组arr所占用的内存空间

需要注意的是,使用new操作符分配的内存必须使用相应的delete操作符进行释放,否则会导致内存泄漏。同时,delete操作符只能释放使用new操作符分配的内存,不能释放静态分配的内存或者栈上的内存。

0
看了该问题的人还看了