歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

C++自由存儲空間:new

new運算符可以建立起生存時間不依賴於作用域的對象,即使在函數返回之後也可以使用。

new建立的對象是“自由存儲”,或者說是“堆對象”或“在動態存儲中建立”。

使用方法

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)函數進行處理。

Copyright © Linux教程網 All Rights Reserved