C C 動態建立物件

2021-09-10 04:21:41 字數 1132 閱讀 2849

一.用new和delete申請記憶體

在c++中用new和delete代替malloc和free

申請乙個物件:

int* p = new int;

釋放:delete p;

注意(1)new的返回值就是物件指標,不用再轉換了

(2)new的時候可以設定初值 new int(12)

申請多個物件

int* p = new int [1024];

釋放:delete p;

注意(1)用制定物件個數

(2)如果new的時候用了,那麼在釋放的時候就用delete .

#include

#include

#include

struct student

;int

main()

delete [

] st;

return0;

}

//注意:和free一樣,delete後的記憶體不能再使用了

delete p;

p = null;//最好置為空指標

二.new和delete建立物件

對於class型別,必須用new和delete來建立和銷毀

new:動態建立乙個物件

(1)申請乙個記憶體

(2)內部呼叫了建構函式

delete:釋放這個物件

(1)呼叫析構函式

(2)釋放記憶體

circle* c = new circle(); //預設建構函式

circle* c = new circle; //不加括號也可以

circle* c = new circle(1,1,4); //傳構造引數

#include

#include

#include

class circle

circle

(int x,

int y,

int radius)

~circle()

private:

int x,y,radius;};

intmain()

動態物件建立

c 的動態物件建立 當建立乙個c 物件時,會發生兩件事 1 為物件分配記憶體 2 呼叫建構函式來初始化那個記憶體 然而,為物件分配記憶體可以用以下幾種方式或在可選擇的時間發生 1 在靜態儲存區域,儲存空間在程式開始之前就可以分配。這個儲存空間在整個執行期間都存在。2 無論何時到達乙個特殊的執行點 左...

MFC動態建立物件

define implement dyncreate class name,base class name cobject pascal class name createobject implement runtimeclass class name,base class name,0xffff,...

動態建立dom物件

在我們實際的專案之中,相信有很多的朋友直接使用了以下的格式建立dom元素 而且用的應該是還是樂此不疲,但是有多少人知道這是錯誤的做法 錯誤的原因 1 在頁面載入時改變了頁面的結構.在ie6中如果網路變慢或者頁面內容太大就會出現 終止操作 的錯誤.也就是說 永遠不要在頁面載入時改變頁面的dom模型 2...