new運算符可以建立起生存時間不依賴於作用域的對象,即使在函數返回之後也可以使用。 new建立的對象是“自由存儲”,或者說是“堆對象”或“在動態存儲中建立”。 使用方法
mynode* n=new mynode;//結構體 delete n; char* s=new char[length]; delete[] s; mynode* n=new mynode;//結構體 delete n; char* s=new char[length]; delete[] s;
一般情況下,如果系統沒有提供內存管理,在使用完畢堆對象之後需要使用delete釋放內存。delete適用於單個對象,delete[]適用於數組。 堆對象創建時需要保存對象大小,通常需要一個字節。 異常處理 new無法分配空間時會拋出bad_alloc異常,可以在new語句之前自定義set_new_handler(out_of_store)函數進行處理。