在C++中,delete
關鍵字用于釋放動態分配的內存
new
關鍵字為指針分配內存。例如,為一個整數分配內存:int* ptr = new int;
delete
關鍵字釋放指針所指向的內存。確保在釋放內存之前不要訪問該內存,因為這可能導致未定義的行為。delete ptr;
nullptr
以避免懸空指針。懸空指針是指向已釋放內存的指針。ptr = nullptr;
注意:在釋放指針所指向的內存后,不要再次使用delete
釋放相同的內存,因為這會導致未定義的行為。
示例代碼:
#include <iostream>
int main() {
int* ptr = new int;
*ptr = 42;
std::cout << "Value of ptr: " << *ptr << std::endl;
delete ptr;
ptr = nullptr;
// 避免再次使用已釋放的內存
if (ptr == nullptr) {
std::cout << "Memory has been released." << std::endl;
}
return 0;
}