📅  最后修改于: 2023-12-03 15:07:52.248000             🧑  作者: Mango
在C++ STL中,delete()函数用于释放动态分配的内存。可以使用delete单个对象,也可以使用delete[]释放动态数组。
delete pointer;
delete函数用于释放单个对象,其中pointer为指向动态分配内存的指针。例如:
int* ptr = new int;
//使用ptr
delete ptr;
delete[] array;
delete[]函数用于释放动态数组,其中array是指向动态分配内存的指针。例如:
int* ptr = new int[5];
//使用ptr
delete[] ptr;
注意,当使用delete或delete[]释放动态分配内存时,必须确保指针指向已分配的内存。如果尝试释放未分配或已释放的内存,则会导致未定义的行为。
另外,如果对象具有指向其他动态分配内存的指针,则必须在删除对象之前先删除这些指针指向的内存。
delete和delete[]函数用于释放动态分配的内存,可以避免内存泄漏和资源占用。但是在使用时需要注意指针指向的内存是否已经分配,以及是否需要先删除指针指向的其他动态分配内存。