C++ Primer (第二十九回---)

第二十九回

數組的名稱就是指向數組的第一個元素的指針

指針相減的結果是:這2個指針所指向的數組元素之間的距離(如下圖,n輸出的結果爲4)

注意數組和指針之間的關係(如下圖)

超出末端的指針經常被用來當作循環使用(如下圖)

第三十回

第一個方框中的 p 是一個普通指針,但是該指針 指向一個常對象,且該常對象必須是double類型的數據

第二個方框中的p是一個常指針,該指針指向一個double類型的對象,但是這個對象是可以改變的

第三個方框中的p是一個常指針,該指針指向一個常對象,且該常對象必須是double類型的數據

一個指針如果要指向 const 對象,那這個指針必須是指向const對象的指針,下圖1的寫法是不正確的,因爲圖1中的 p 只是一個普通指針,下圖2是正確的(換句話說,常對象的指針必須是指向常對象的指針

指向常對象的指針是可以指向普通對象(非const對象)的,下圖1是正確的,但是不能通過這個指向常對象的指針來修改對應的普通對象(下圖2中紅色框部分是錯誤的)

 

所謂的常指針,就是說,一旦這個指針指向一個對象了,那麼它就永遠指向這個對象,不能再改變了,所以 常指針在聲明的時候就必須進行初始化(下圖所示)

 

指向常對象的常指針,下圖中,兩句註釋掉的語句,第一句不可以是因爲常指針,第二句不可以是因爲 指向常對象的指針

const 寫前面也行,寫後面也行,如圖1所示,兩句是一樣的;如圖2所示,畫框的兩條語句是一樣的,但是,cstr 和 cstr2 不同,和 cstr3 相同,也就是說,cstr是一個常指針,而不是指向常對象的指針。習慣上,一般把const寫在最前面,雖然容易造成誤解。 

第三十一回

 

 

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