1.引用的使用
引用是给数据起一个别名,可有多个别名,但别名也遵循原名规则。
数据类型 &别名=原名;
同原名一样,别名也可以操作原名指向的数据。别名必须进行初始化操作。
2.通过引用做函数参数
void swap(int &a,int &b){//引用指向的就是原名
int temp=a;
a=b;
b=temp;
}
int main(){
int x=10;
int z=20;
swap(x,z);
cout<<x<<" "<<z<<endl;//值发生了改变
3.引用做函数返回值
注意不要做返回局部变量引用
int & sa() {//局部变量引用
int a = 10;
return a;
}
int main(){
int & a = sa();
cout << a << endl;
cout << a << endl;
system("pause");
return 0;
}
函数调用作为左值
int & sa() {
static int a = 10;//静态变量
return a;
}
int main(){
int & a = sa();
cout << a << endl;
cout << a << endl;
sa() = 100;//函数调用作为左值
cout << a << endl;
cout << a << endl;
system("pause");
return 0;
}
4.引用的本质
引用是一个在c++内部实现的指针常量
int & a本质是 int * const a
地址不可变

5.常量引用
通常用const来修饰形参,防止形参引用改变实参。也可以const修饰实参
const int & a=10//可以直接赋值,编译器会直接定义int temp=10,int & a=temp,temp为临时变量。