小人物學(xué)個(gè)大習(xí)(51-60)
C++ primer
為引用賦值,實(shí)際上是把值賦給了與引用綁定的對(duì)象,獲取引用的值,實(shí)際上是獲取了與引用綁定的對(duì)象的值。
引用只能綁定在對(duì)象上,而不能與字面值或某個(gè)表達(dá)式的計(jì)算結(jié)果綁定在一起。指針也實(shí)現(xiàn)了對(duì)其它對(duì)象的間接訪問
特點(diǎn):一。允許賦值和拷貝,可以先后指向幾個(gè)不同的對(duì)象
二。無需在定義時(shí)賦初值。和內(nèi)置類型一樣,在塊作用域內(nèi)定義的指針,如果沒有被初始化,將擁有一個(gè)不確定的值。
通過聲明符*來定義指針指針存放某個(gè)對(duì)象的地址,要想獲取該地址,需要使用取地址符&
指針使用*解引用符來訪問該對(duì)象
空指針,不指向任何對(duì)象,在試圖使用一個(gè)指針之前代碼可以首先檢查它是否為空。
int *p1=nullptr;
int *p1=0;
int *p1=NULL;
空指針
最好使用nullptr這是新的規(guī)則指針和它存放的地址之間沒有綁定的關(guān)系,給指針賦值就是令它存放一個(gè)新的地址,從而指向一個(gè)新的對(duì)象。
對(duì)兩個(gè)類型相同的合法指針,可以用相等操作符==和不相等操作符!=來比較他們,比較的結(jié)果是布爾類型
void* 是一種特殊的指針類型,可用于存放任意對(duì)象的地址,不同的是,我們對(duì)該地址中到底是個(gè)什么類型的對(duì)象并不了解
變量的定義包括一個(gè)基本數(shù)據(jù)類型和一組聲明符。在同一條定義語句中,雖然基本數(shù)據(jù)類型只有一個(gè),但是聲明符的形式卻可以不同。
int I = 1024,*p = &i,&r = i;一般來說,聲明符中修飾符的個(gè)數(shù)并沒有限制。當(dāng)有多個(gè)修飾符連寫在一起時(shí),按照其邏輯關(guān)系詳加解釋即可。**表示指向指針的指針,***表示指向指針的指針的指針
不管學(xué)習(xí)的質(zhì)量如何,總是要堅(jiān)持學(xué)習(xí)。
2023年6月29日