1.基本数据类型的引用
#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);