引用(reference)

引用是变量的一个别名,也就是说,它是某个已存在变量的另一个名字。一旦把引用初始化为某个变量,就可以使用该引用名称或变量名称来指向变量。
们可以为 i 声明引用变量,如下所示:
int& r = i;

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
#include <iostream>
using namespace std;
int main (){
   int variable=3;
   int &alias=variable; //定义一个引用变量alias,aliase相当于variable的别名,使用alias就是使用variable.
                        //引用变量alias必须在定义时初始化,以后也不可以通过alias=b之类的改变为变量b的引用.                   
   int *pointer;
   pointer=&alias;
   cout<<&variable<<endl;
   cout<<&alias<<endl;
   cout<<pointer<<endl;   //程序中variable, alias,pointer都指向了一个地址
   cout<<variable<<" "<<alias<<endl;
   variable++;    
   cout<<variable<<" "<<alias<<endl;
   alias++;
   cout<<++alias<<" "<<variable<<endl;
}

edit & run

函数使用引用

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <iostream>
using namespace std;

void SwapVarible(int a,int b);
void SwapPointer(int *fa,int *fb);
void SwapReference(int &ra,int &rb);
int main (){
    int a=10,b=20;
    SwapVarible(a,b);
    cout<<a<<","<<b<<endl;
    SwapPointer(&a,&b);
    cout<<a<<','<<b<<endl;
    SwapReference(a,b);
    cout<<a<<','<<b<<endl;
}
 void SwapVarible(int a, int b){
    int temp=a;
    a=b;
    b=temp;
}
void SwapPointer(int *fa,int *fb){
    int temp;
    temp=*fa;
    *fa=*fb;
    *fb=temp;
}
void SwapReference(int &ra,int &rb){
    int temp;
    temp=ra;
    ra=rb;
    rb=temp;
}

edit & run

Scroll to Top