類對象和類指針


聲明:

類對象:利用類的構造函數在內存中分配一塊內存,調用了構造函數

類指針:是一個內存地址值,指向內存中存放的類對象,沒有調用構造函數


引用成員:

對象用"."

指針用"->"


對象生命期:

若是成員變量,則是類的析構函數來釋放空間

若是函數中的臨時變量,則作用域是該函數體內


指針生命期:

則需利用delete在相應的地方釋放分配的內存塊,用new一定要delete


內存佔用:

對象用的是內存棧,是個局部的臨時變量
指針用的是內存堆,是個永久變量,除非你釋放它


函數調用:

對象參數,參數傳遞佔用的資源就太大了

指針參數,傳過去的就是4個字節


當類是有虛函數的基類,關於虛函數的調用:
類的對象調用的是它自己的虛函數
類的指針調用的是分配給它空間時那個類的虛函數,要發揮虛函數強大就必須使用指針


對於類的對象和類的指針(用new運算符分配內存)在應用時區別 :

1:指針可以實現多態,父類的指針可以指向子類的對象,直接使用對象不行

2:當你希望明確使用這個類的時候,最好使用對象,如果你希望使用C++中的動態綁定,則最好使用指針或者引用

3:在類的聲明尚未完成的情況下,可以聲明指向該類的指針,但是不可聲明該類的對象

5:定義對象實例時就已經分配了內存,指針如果沒有new則未分配類對象所需內存

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章