在C++中,动态内存分配通常使用new
和delete
关键字来实现。以下是动态内存分配的基本步骤:
使用new
关键字来分配内存:new
关键字用于在堆上动态分配内存空间,并返回指向分配内存的指针。例如,int* ptr = new int;
将在堆上分配一个整数的内存空间,并将指向该内存空间的指针存储在ptr
中。
使用delete
关键字来释放内存:delete
关键字用于释放之前使用new
关键字分配的内存空间。例如,delete ptr;
将释放ptr
指向的内存空间。
动态数组分配:除了分配单个对象外,还可以使用new[]
和delete[]
关键字来分配和释放动态数组。例如,int* arr = new int[5];
将在堆上分配包含5个整数的数组的内存空间,并将指向该数组的指针存储在arr
中。使用delete[] arr;
来释放分配的数组内存。
需要注意以下几点: