下面的写法定义了一个引用,并将其初始化为引用某个变量。
·初始化后,它就一直引用该变量,不会再引用别的变量了
类型名 & 引用名 = 某变量名
int n = 4;
int & r = n;//r引用了n,r的类型是int &
·某个变量的引用,等价于这个变量,相当于该变量的一个别名int n = 7;
int & r = n;
r = 4;
cout<<r;//输出4
cout<<n;//输出4
n = 5;
cout<<r;//输出5
·定义引用时一定要将其初始化成引用某个变量·初始化后,它就一直引用该变量,不会再引用别的变量了
·引用只能引用变量,不能引用常量和表达式
double a = 4, b = 5;
double & r1 = a;
double & r2 = r1;//r2也引用a
r2 = 10;
cout<< a <<endl;//10
r1 = b;
cout<< a <<endl;//5
//C语言
void swap(int *a,int *b){
int temp;
temp = *a;
*a = *b;
*b = temp;
}
swap(&a, &b);.
//C++语言
void swap(int &a, int &b){
int temp;
temp = a;
a = b;
b = temp;
}
swap(a, b);
·引用作为函数的返回值
int n = 4;
int &SetValue(){return n;}
int main(){
SetValue() = 40;
cout<<n;//40
retunr 0;
}
·常引用定义引用时,前面加 const 关键字,即为"常引用"
int n;
const int & r = n;
r的类型是 const int &不能通过常引用去修改其引用的内容:
int n = 100;
const int & r = n;
r = 200;//编译错
n = 300;
感谢北大!!