C++ 内存管理:new 和 delete
提示
- 动态内存分配:在C++中,可以使用
new
操作符在运行时为变量或数组分配内存,这称为动态内存分配。与Java和Python等语言不同,C++需要手动释放动态分配的内存。 new
操作符:new
操作符用于为变量分配内存,返回内存地址。例如,使用int* pointVar = new int;
为整型变 量分配内存。对于数组,new
返回数组的第一个元素的地址。delete
操作符:当动态分配的变量不再需要时,使用delete
操作符释放内存。对于数组,使用delete[]
释放内存。例如,delete pointVar;
和delete[] ptr;
分别用于释放单个变量和数组所占用的内存。
C++允许我们在运行时为变量或数组分配内存。这被称为动态内存分配。
在其他编程语言如Java和Python中,编译器会自动管理分配给变量的内存。但在C++中情况并非如此。
在C++中,我们需要在不再使用变量后手动释放动态分配的内存。
我们可以分别使用new
和delete
运算符来动态地分配和释放内存。
C++ new 操作符
new
操作符用于为变量分配内存。例如,
// 声明一个 int 指针
int* pointVar;
// 使用 new 关键字动态分配内存
pointVar = new int;
// 给分配的内存赋值
*pointVar = 45;
这里,我们使用 new
操作符为一个 int
变量动态分配了内存。注意我们使用指针 pointVar 来动态分配内存。这是因为 new
操作符返回内存位置的地址。
对于数组,new
操作符返回数组第一个元素的地址。
从上面的例子中可以看出,使用 new
操作符的语法是:
pointerVariable = new dataType;