C++ mooc 引用

int n=7;
int & r=n;   //一定要初始化爲引用某個變量

r是n的一個引用,是n的一個別名,等價於n,但類型爲 int &

n改r也改,r改n也改

  • r初始化後就一直引用n
  • 引用不可引用常量和表達式,只能引用變量
int a=1,b=2;
int & r1=a;
int & r2=r1;

則r1,r2都引用a且不會改變。

r1=b;
cout<<a;   //2

b給r1賦值,此時r1,r2, a都爲2

引用的例子1:

void swap(int & a,int & b){
    int tmp;
    tmp=a; a=b; b=tmp;
}

int main{
    int a=1,b=2;
    swap(a,b);
    cout<<a<<b<<endl;  //2,1
    return 0;
}

引用的例子2:

int n=2;
int & setVal(){return n;}   //函數的返回值引用全局變量n
int main(){
    setVal()=17;
    cout<<n<<endl; //17
    return 0;
}

常引用

int n=3;
const int & r=n;
r=4; //出錯
n=4; //正確

const T或const T &不可用來初始化T或T &,反之可以

發佈了25 篇原創文章 · 獲贊 4 · 訪問量 7390
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章