引用是变量的一个别名,也就是说,它是某个已存在变量的另一个名字。一旦把引用初始化为某个变量,就可以使用该引用名称或变量名称来指向变量。
们可以为 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; } |
函数使用引用
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; } |