欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C++ Primer中&、*符號(hào)的多重定義與int *p和int* p的區(qū)別講解

 更新時(shí)間:2019年04月11日 12:10:33   作者:yangyongUestc  
今天小編就為大家分享一篇關(guān)于C++Primer中&、*符號(hào)的多重定義與int *p和int* p的區(qū)別講解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧

&*這樣的符號(hào),既能用作表達(dá)式里的運(yùn)算符,也能作為聲明的一部分出現(xiàn),符號(hào)的上下文決定了符號(hào)的意義:

int i = 42;
int &r = i;    //&緊隨類型名出現(xiàn),因此是聲明的一部分,r是一個(gè)引用
int *p;       //*緊隨類型名出現(xiàn),因此是聲明的一部分,p是一個(gè)指針p
p = &i;      //&出現(xiàn)在表達(dá)式中,是一個(gè)取地址符
*p = i;       //*出現(xiàn)在表達(dá)式中,是一個(gè)解引用符
int &r2 = *p;  //&是聲明的一部分,*是一個(gè)解引用符

在聲明的語句中,&*用于組成復(fù)合類型;在表達(dá)式中,他們的角色又轉(zhuǎn)變成運(yùn)算符。在不同場(chǎng)景下出現(xiàn)的雖然

是同一個(gè)符號(hào),但是由于含義截然不同,所以我們完全可以把他們當(dāng)做不同的符號(hào)來看待。

根據(jù)C++Primer介紹:

對(duì)于int* p(這種寫法合法,但是容易造成誤導(dǎo)),其基本數(shù)據(jù)類型是int,后面的*其實(shí)是聲明符。在一組公用的數(shù)據(jù)類型后面可以使用不同的聲明符。例如:

int i =1024, *p = &i, &r = i;    //i是一個(gè)int類型的數(shù)據(jù),p是一個(gè)int型的指針,r是一個(gè)int型引用。

對(duì)于int *p,其和int* p的含義一樣,都表示int類型的指針變量p。

但是將聲明符緊跟著變量名是一種更容易理解的做法。否則可能會(huì)出現(xiàn)誤導(dǎo)現(xiàn)象:

例如

 int* p1, p2;表示含義是p1是一個(gè)int型的指針,p2是一個(gè)int型變量。而不是p1,p2都是指針變量,它們共用的是基本數(shù)據(jù)類型部分。

如果寫成int *p1,p2;則和上式表示的含義完全一樣,但是更加清晰,不會(huì)造成誤導(dǎo)。

不過對(duì)于以上兩種寫法的使用,主要看個(gè)人的習(xí)慣,但是最好不要混用。

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接

相關(guān)文章

最新評(píng)論