C++引用注意

  1. 不能建立void類型引用
int a = 9;
void &b = a;  //錯(cuò)誤
  1. 不能建立引用的數(shù)組
int a[] = {1,2,3,4};
int &b[] = a;  //錯(cuò)誤
  1. 可以將變量的引用的地址賦給一個(gè)指證,此時(shí)指針指向的是原來的變量
  int a  = 1;
  int &b = a;
  int *p = &b; //等價(jià)于 int *p = &a;
  1. 可以建立指針變量的引用
  int a = 0;
  int *p = &a;
  int *&pt = p;  //pt指向a,*pt與*p均為取出變量a
  1. 可以用const對(duì)引用加以限定,不允許修改該引用的值。
    但可以改變引用所代表的變量的值。

這在將引用作為形參時(shí),可以防止函數(shù)對(duì)引用進(jìn)行修改,造成實(shí)參被修改

void fun(const int *i);

  int a = 0;
  const int &b = a;
  b = 1;  //報(bào)錯(cuò)
  a = 1;  //合法
  1. 可以用常量或表達(dá)式對(duì)引用進(jìn)行初始化,
    可以用不同類型的變量對(duì)引用初始化(針對(duì)類型轉(zhuǎn)換兼容的類型),
    但此時(shí)必須用const聲明引用
  int a = 0;
  const int &b = a + 1;

  double d = 12;
  const int &i = d;
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1.語言中變量的實(shí)質(zhì) 要理解C指針,我認(rèn)為一定要理解C中“變量”的存儲(chǔ)實(shí)質(zhì), 所以我就從“變量”這個(gè)東西開始講起吧...
    金巴多閱讀 1,979評(píng)論 0 9
  • iOS面試小貼士 ———————————————回答好下面的足夠了------------------------...
    不言不愛閱讀 2,253評(píng)論 0 7
  • 多線程、特別是NSOperation 和 GCD 的內(nèi)部原理。運(yùn)行時(shí)機(jī)制的原理和運(yùn)用場景。SDWebImage的原...
    LZM輪回閱讀 2,124評(píng)論 0 12
  • 在這全民喜歡小鮮肉的時(shí)代我卻對(duì)一個(gè)老男人情有獨(dú)鐘,這個(gè)男人長的不算好看,甚至長的還有點(diǎn)著急,還有很嚴(yán)重的糖尿病,但...
    天山雪蓮A閱讀 227評(píng)論 0 0
  • 添加抽屜導(dǎo)航 Android Material風(fēng)格的應(yīng)用(一)--AppBar TabLayoutAndroid ...
    CoderMiner閱讀 1,646評(píng)論 0 6

友情鏈接更多精彩內(nèi)容