C++基礎(chǔ)知識(shí)學(xué)習(xí)-聲明/定義/引用/指針

聲明(declaration),定義(definition)

如果想聲明一個(gè)變量而非定義它,就在變量名前添加關(guān)鍵字extern,而且不要顯式地初始化變量.

extern int i;//聲明i而非定義i
int j;//聲明并定義j
extern double pi=3.1415;//定義

聲明可以被多次聲明

復(fù)合類(lèi)型(compound type)--引用(reference)和指針(pointer)

引用(reference)

通過(guò)將聲名符寫(xiě)成&d的形式來(lái)定義引用類(lèi)型

int ival=1024;
int &refval=ival;
int &refVal2;//報(bào)錯(cuò),引用必須被初始化

引用并非對(duì)象,相反的,它只是為一個(gè)已經(jīng)存在的對(duì)象所起的另外一個(gè)名字(引用即別名)
為引用賦值,實(shí)際上是把值賦給了與引用綁定在一起的對(duì)象.
引用只能綁定到對(duì)象中,不能把字面值或者某個(gè)表達(dá)式的值綁定到引用上.

int &val=1024;//報(bào)錯(cuò),不能把字面值賦給引用.
double i=3.1415;
int &val=i;//報(bào)錯(cuò):不能把double對(duì)象賦給int引用.
指針(pointer)
  1. 指針本身就是一個(gè)對(duì)象,允許對(duì)指針賦值和拷貝,而且在指針的生命周期內(nèi)它可以先后指向幾個(gè)不同的對(duì)象.
  1. 指針無(wú)需在定義時(shí)賦初值.
  2. 定義指針的方法是將聲名符寫(xiě)成*d的形式,其中d是變量名.
int *i,*i1;
double dp,*dp2//
  1. 獲取對(duì)象的地址:取地址符(&)
double val=3.14;
int *p=&val;//取val的地址賦值給指針p;
  1. 因?yàn)橐貌皇菍?duì)象,所以不能定義指向引用的指針.
int i=1024;
int *p1=&i;//將i取地址賦給指針p1
int *p2=p1;//將p1指針賦給指針p2
//p2和p1指向的對(duì)象是同一個(gè)對(duì)象
  1. 利用指針訪問(wèn)對(duì)象
    如果指針指向了一個(gè)對(duì)象,則允許使用解引用符(*)來(lái)訪問(wèn)對(duì)象.
int i=1024;
int *p=&i;//將i取地址賦給指針p
*p=2048;//指針p所指向的i也變成2048
  1. 空指針(null pointer)
    c++11中增加了使用nullptr字面值來(lái)定義空指針
int *p=nullptr;//c++11中增加
int *p1=0;//將p2初始化字面量0;
int *p2=NULL;//需要首先#include <cstdlib>;
  1. void*指針
    void*指針是一種特殊的指針,可用于存放任意對(duì)象的地址.要注意的是,不能直接在void*指針中操作void*指針?biāo)赶虻膶?duì)象,因?yàn)槲覀儾恢纕oid*指針?biāo)赶虻氖呛畏N對(duì)象,但是可以通過(guò)static_cast進(jìn)行類(lèi)型轉(zhuǎn)換.
int i=1024;
void *p=&i;//將i取地址賦給void指針
cout<<*p<<endl;//錯(cuò)誤,對(duì)void*指針不能操作輸出
int *p1=static_cast<int*>(p);//將指針p進(jìn)行類(lèi)型轉(zhuǎn)換賦給p1
  1. 對(duì)指針的引用
int i=1024;
int *p;
int *&r=p;//從右向左讀,r首先是個(gè)引用(&),
//然后其他聲明符的其他部分確定r引用的類(lèi)型是什么,*標(biāo)識(shí)引用的是一個(gè)指針

** 涉及到指針或者引用的聲明,一般有兩種寫(xiě)法:(注意:沒(méi)有誰(shuí)對(duì)誰(shuí)錯(cuò))**

  • 把類(lèi)型修飾符(&或者*)和變量標(biāo)識(shí)符寫(xiě)在一起.
int *p=nullptr;//這種形式著重強(qiáng)調(diào)變量所具有的復(fù)合類(lèi)型.
  • 把類(lèi)型修飾符(&或者*)和類(lèi)型名寫(xiě)在一起.
int* p=nullptr;//這種形式強(qiáng)調(diào)聲明定義了一種復(fù)合類(lèi)型.

面對(duì)一條比較復(fù)雜的指針或者引用的聲明語(yǔ)句時(shí),從右向左閱讀有助于弄清楚它的真實(shí)含義

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子秸讹,更是在濱河造成了極大的恐慌瞳步,老刑警劉巖踊挠,帶你破解...
    沈念sama閱讀 218,858評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件旁蔼,死亡現(xiàn)場(chǎng)離奇詭異侈咕,居然都是意外死亡磕潮,警方通過(guò)查閱死者的電腦和手機(jī)翠胰,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)自脯,“玉大人之景,你說(shuō)我怎么就攤上這事≡┙瘢” “怎么了闺兢?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,282評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)戏罢。 經(jīng)常有香客問(wèn)我屋谭,道長(zhǎng),這世上最難降的妖魔是什么龟糕? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,842評(píng)論 1 295
  • 正文 為了忘掉前任桐磁,我火速辦了婚禮,結(jié)果婚禮上讲岁,老公的妹妹穿的比我還像新娘我擂。我一直安慰自己衬以,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,857評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布校摩。 她就那樣靜靜地躺著看峻,像睡著了一般。 火紅的嫁衣襯著肌膚如雪衙吩。 梳的紋絲不亂的頭發(fā)上互妓,一...
    開(kāi)封第一講書(shū)人閱讀 51,679評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音坤塞,去河邊找鬼冯勉。 笑死,一個(gè)胖子當(dāng)著我的面吹牛摹芙,可吹牛的內(nèi)容都是我干的灼狰。 我是一名探鬼主播,決...
    沈念sama閱讀 40,406評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼浮禾,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼交胚!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起伐厌,我...
    開(kāi)封第一講書(shū)人閱讀 39,311評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤承绸,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后挣轨,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體军熏,經(jīng)...
    沈念sama閱讀 45,767評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年卷扮,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了荡澎。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,090評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡晤锹,死狀恐怖摩幔,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情鞭铆,我是刑警寧澤或衡,帶...
    沈念sama閱讀 35,785評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站车遂,受9級(jí)特大地震影響封断,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜舶担,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,420評(píng)論 3 331
  • 文/蒙蒙 一坡疼、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧衣陶,春花似錦柄瑰、人聲如沸闸氮。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,988評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)蒲跨。三九已至,卻和暖如春详囤,著一層夾襖步出監(jiān)牢的瞬間财骨,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,101評(píng)論 1 271
  • 我被黑心中介騙來(lái)泰國(guó)打工藏姐, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人该贾。 一個(gè)月前我還...
    沈念sama閱讀 48,298評(píng)論 3 372
  • 正文 我出身青樓羔杨,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親杨蛋。 傳聞我的和親對(duì)象是個(gè)殘疾皇子兜材,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,033評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容