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

簡(jiǎn)單介紹C++中變量的引用

 更新時(shí)間:2015年09月14日 17:56:05   投稿:goldensun  
這篇文章主要簡(jiǎn)單介紹了C++中變量的引用,是C++入門(mén)學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下

什么是變量的引用

對(duì)一個(gè)數(shù)據(jù)可以使用“引用(reference)”,這是C++對(duì)C的一個(gè)重要擴(kuò)充,引用是一種新的變量類(lèi)型,它的作用是為一個(gè)變量起一個(gè)別名。假如有一個(gè)變量a,想給它起一個(gè)別名b,可以這樣寫(xiě):

  int a;  //定義a是整型變量
  int &b=a;  //聲明b是a的引用


以上語(yǔ)句聲明了b是a的引用,即b是a的別名。經(jīng)過(guò)這樣的聲明后,a或b的作用相同,都代表同一變量。

注意: 在上述聲明中,&是引用聲明符,并不代表地址。不要理解為“把a(bǔ)的值賦給b的地址”。聲明變量b為引用類(lèi)型,并不需要另外開(kāi)辟內(nèi)存單元來(lái)存放b的值。b和a占內(nèi)存中的同一個(gè)存儲(chǔ)單元,它們具有同一地址。聲明b是a的引用,可以理解為: 使變量b具有變量a的地址。見(jiàn)下圖,如果a的值是20,則b的值也是20。


在聲明一個(gè)引用類(lèi)型變量時(shí),必須同時(shí)使之初始化,即聲明它代表哪一個(gè)變量。在聲明變量b是變量a的引用后,在它們所在函數(shù)執(zhí)行期間,該引用類(lèi)型變量b始終與其代表的變量a相聯(lián)系,不能再作為其他變量的引用(別名)。下面的用法不對(duì):

int a1, a2;
int &b=a1;
int &b=a2;  //企圖使b又變成a2的引用(別名)是不行的


引用的簡(jiǎn)單使用

【例】引用和變量的關(guān)系。

#include <iostream>
#include <iomanip>
using namespace std;
int main( )
{
  int a=10;
  int &b=a; //聲明b是a的引用
  a=a*a; //a的值變化了,b的值也應(yīng)一起變化
  cout<<a<<setw(6)<<b<<endl;
  b=b/5; //b的值變化了,a的值也應(yīng)一起變化
  cout<<b<<setw(6)<<a<<endl;
  return 0;
}

a的值開(kāi)始為10,b是a的引用,它的值當(dāng)然也應(yīng)該是10,當(dāng)a的值變?yōu)?00(a*a的值)時(shí),b的值也隨之變?yōu)?00。在輸出a和b的值后,b的值變?yōu)?0,顯然a的值也應(yīng)為20。運(yùn)行記錄如下:
100    100    (a和b的值都是100)
20    20    (a和b的值都是20)

相關(guān)文章

  • C++設(shè)置系統(tǒng)時(shí)間及系統(tǒng)時(shí)間網(wǎng)絡(luò)更新的方法

    C++設(shè)置系統(tǒng)時(shí)間及系統(tǒng)時(shí)間網(wǎng)絡(luò)更新的方法

    這篇文章主要介紹了C++設(shè)置系統(tǒng)時(shí)間及系統(tǒng)時(shí)間網(wǎng)絡(luò)更新的方法,涉及網(wǎng)絡(luò)程序設(shè)計(jì)與系統(tǒng)函數(shù)的使用,需要的朋友可以參考下
    2014-10-10
  • C語(yǔ)言直接插入排序算法

    C語(yǔ)言直接插入排序算法

    大家好,本篇文章主要講的是C語(yǔ)言直接插入排序算法,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話(huà)記得收藏一下,方便下次瀏覽
    2022-01-01
  • SQL Server中的數(shù)據(jù)復(fù)制到的Access中的函數(shù)

    SQL Server中的數(shù)據(jù)復(fù)制到的Access中的函數(shù)

    SQL Server中的數(shù)據(jù)復(fù)制到的Access中,表的結(jié)構(gòu)相同 不要提用openrowset,因?yàn)锳ccess文件和SQL Server不在一臺(tái)機(jī)器上
    2008-11-11
  • 探究c++虛表實(shí)現(xiàn)代碼

    探究c++虛表實(shí)現(xiàn)代碼

    虛表是一種利用程序語(yǔ)言實(shí)現(xiàn)的dynamic dispatch機(jī)制,或者說(shuō)runtime method binding機(jī)制,也就是我們說(shuō)的多態(tài)。本文簡(jiǎn)單探究虛表實(shí)現(xiàn)方法,一起看看吧
    2021-09-09
  • c++ typeid關(guān)鍵字的使用

    c++ typeid關(guān)鍵字的使用

    這篇文章主要介紹了c++ typeid關(guān)鍵字的使用,幫助大家更好的理解和使用c++,感興趣的朋友可以了解下
    2020-11-11
  • C++ HLSL實(shí)現(xiàn)簡(jiǎn)單的圖像處理功能

    C++ HLSL實(shí)現(xiàn)簡(jiǎn)單的圖像處理功能

    本文主要介紹了HLSL實(shí)現(xiàn)簡(jiǎn)單的圖像處理功能的方法,具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧
    2017-02-02
  • C++ STL中一些常用算法總結(jié)

    C++ STL中一些常用算法總結(jié)

    都說(shuō)STL是數(shù)據(jù)容器與算法的高度組合,在前面的文章中我們介紹了常見(jiàn)的幾種容器,vector、list、map、deque等,今天我們?cè)賮?lái)介紹下STL中常用的一些算法,需要的朋友可以參考下
    2024-02-02
  • C++11 并發(fā)指南之std::mutex詳解

    C++11 并發(fā)指南之std::mutex詳解

    這篇文章主要介紹了C++11 并發(fā)指南之std::mutex詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • C++中的explicit關(guān)鍵字詳解

    C++中的explicit關(guān)鍵字詳解

    這篇文章主要介紹了C++中的explicit關(guān)鍵字詳解,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下
    2022-07-07
  • 淺談C++11新引入的lambda表達(dá)式

    淺談C++11新引入的lambda表達(dá)式

    Lambda表達(dá)式(又稱(chēng)Lambda函數(shù),英文原文是Lambda Expression),是C++11的新特性中非常實(shí)用的一個(gè)。
    2017-07-07

最新評(píng)論