C++的delete运算符用于释放指针指向的动态分配的内存空间。delete运算符可以用于释放对象、数组、指针等类型的内存空间。在 C++中,动态分配内存空间使用new运算符,而释放内存空间使用delete运算符。
delete运算符的语法如下:
delete [ ] pointer;
其中,pointer
是指向动态分配内存空间的指针。方括号[]
用于指定删除的是数组,如果指向的是单个对象,则可以省略方括号。
例如,以下代码动态分配一个整数数组,并使用delete
运算符释放内存空间:
int *ptr = new int[10]; // 动态分配一个包含 10 个整数的数组
...
delete [] ptr; // 释放内存空间
如果指向的是单个对象,则可以省略方括号,如下所示:
int *ptr = new int; // 动态分配一个整数对象
...
delete ptr; // 释放内存空间
使用delete
运算符时,必须使用与new
运算符相同的方括号或括号形式,以确保正确地释放内存空间。如果使用的形式不正确,可能会导致内存泄漏或其他错误。
此外,如果在使用delete
运算符时出现异常,则不会释放内存空间。因此,在使用动态分配内存的代码中,应该使用合适的异常处理机制来确保在出现异常时正确地释放内存空间。