c++ primer讀書筆記五

2.3.3理解複合類型的聲明
指向指針的指針
指針是內存中的對象,像其他對象一樣也有自己的地址,因此允許把指針的地址再存放到另一個指針當中

通過的個數可以區別指針的級別,表示指向指針的指針,表示指向指針的指針的指針

int ival=1024int *pi=&ival;
int **ppi=π
見p58

指向指針的引用
引用本身不是一個對象,因此不能定義指向引用的指針。但指針是對象,所以存在對指針的引用

int i=42int *p;//p是一個int型指針
int *&r=p;

指向指針的引用
引用本身不是一個對象,因此不能定義指向引用的指針。但指針是對象,所以存在對指針的引用

int i=42int *p;
int *&r=p;//r是一個對指針的引用

r=&i;//r引用了一個指針,因此給r賦值&i就是令p指向i
*r=0//解引用r得到i,也就是p指向的對象,將i的值改爲0

從右往左閱讀r的定義。離變量名最近的符號(&r)對變量的類型最直接的影響,因此r是一個引用。聲明符的其餘部分用以確定r引用。聲明符的其餘部分用以確定r引用的類型是什麼,此例子中符號*說明r引用的是一個指針。

2.3.3理解複合類型的聲明

int i=1024*p=&i,&r=i;
//i是一個int型的數,p是一個int型指針,r是一個int型引用
發佈了28 篇原創文章 · 獲贊 3 · 訪問量 4448
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章