在C++中,delete
關鍵字用于釋放動態分配的內存
delete
關鍵字的主要作用是:
釋放內存:當你使用new
關鍵字動態分配內存時,delete
用于釋放這些內存。這對于防止內存泄漏(memory leaks)非常重要,因為內存泄漏會導致程序占用越來越多的系統資源,最終可能導致系統崩潰。
調用析構函數:在釋放內存之前,delete
會自動調用對象的析構函數。析構函數用于執行清理操作,例如釋放其他動態分配的資源、關閉文件等。
以下是一個簡單的示例,說明如何使用new
和delete
:
#include<iostream>
class MyClass {
public:
MyClass() {
std::cout << "Constructor called."<< std::endl;
}
~MyClass() {
std::cout << "Destructor called."<< std::endl;
}
};
int main() {
MyClass* obj = new MyClass(); // 使用new關鍵字動態分配內存并調用構造函數
delete obj; // 使用delete關鍵字釋放內存并調用析構函數
return 0;
}
在這個示例中,我們創建了一個名為MyClass
的類,并使用new
關鍵字動態分配內存。然后,我們使用delete
關鍵字釋放內存。注意,在釋放內存之前,delete
會自動調用MyClass
的析構函數。