#include <iostream>
int main(void){
int a=3;
int &b=a;//引用必須初始化
b=10;
cout<<a<<endl;
return 0;
}
輸出結果:10
改變的引用&b的值,a的值也跟着變
2.結構體類型的引用
typedef struct{
int x;
int y;
}Coor;
#include <iostream>
using namespace std;
int main(void){
Coor c1;
Coor &c=c1;
c.x=10;
c.y=20;
cout<<c1.x<<c1.y<<endl;
return 0;
}
輸出結果:10,20
改變的引用&c的值,c1的值也跟着變
3.指針類型的引用
類型 *&指針引用名=指針;
#include <iostream>
using namespace std;
int main(void){
int a=10;
int *p=&a;
int *&q=p;
*q=20;
count<<a<<endl;
return 0;
}
輸出結果:20
*q的值改變,*&q跟着變,*p跟着變,a跟着變
4.C中用指針做函數參數
void swap(int *a,int *b){
int c=0;
c=*a;
*a=*b;
*b=c;
}
int x=1,y=2;
swap(&x,&y);
void swap(int &a,int &b){
int c=0;
c=a;
a=b;
b=c;
}
int x=1,y=2;
swap(x,y);