中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C++ Primer中&、*符號多重定義與int *p和int* p區別的示例分析

發布時間:2021-09-13 17:54:00 來源:億速云 閱讀:148 作者:小新 欄目:編程語言

這篇文章給大家分享的是有關C++ Primer中&、*符號多重定義與int *p和int* p區別的示例分析的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

&*這樣的符號,既能用作表達式里的運算符,也能作為聲明的一部分出現,符號的上下文決定了符號的意義:

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

在聲明的語句中,&*用于組成復合類型;在表達式中,他們的角色又轉變成運算符。在不同場景下出現的雖然

是同一個符號,但是由于含義截然不同,所以我們完全可以把他們當做不同的符號來看待。

根據C++Primer介紹:

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

int i =1024, *p = &i, &r = i;    //i是一個int類型的數據,p是一個int型的指針,r是一個int型引用。

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

但是將聲明符緊跟著變量名是一種更容易理解的做法。否則可能會出現誤導現象:

例如

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

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

不過對于以上兩種寫法的使用,主要看個人的習慣,但是最好不要混用。

感謝各位的閱讀!關于“C++ Primer中&、*符號多重定義與int *p和int* p區別的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

龙门县| 惠安县| 三门县| 高州市| 比如县| 普兰县| 怀集县| 乡宁县| 盐边县| 邯郸县| 安岳县| 肥东县| 桑植县| 哈密市| 泰顺县| 洛宁县| 临武县| 富民县| 水城县| 同德县| 格尔木市| 漠河县| 江孜县| 嵩明县| 金堂县| 榕江县| 冷水江市| 昭觉县| 大余县| 南汇区| 辽宁省| 外汇| 绵阳市| 公主岭市| 开鲁县| 囊谦县| 新乡县| 灵台县| 济阳县| 承德市| 屯昌县|