以后就不每次都强调版权问题了,在此郑重声明,最近一段日子学的C++都是北京大学的视频,小女子只是为了学习记录,版权归原视频所有~
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;//切记:这里不是说r1又引用了b,而是将b的值赋给了r1这个引用
cout << a << endl;//5
谈谈交换两个变量
用指针:
void swap(int *a,int *b)
{
int tmp;
tmp = *a;
*a = *b;
*b = tmp;
}
int n1,n2;
swap(&n1, &n2);
//将两个实参的地址传递给函数,作为指针来对实参进行交换
用引用:
void swap(int &a,int &b)
{
int tmp;
tmp = a;
a = b;
b = tmp;
}
int n1,n2;
swap(n1,n2);
有了C++,代码变得简洁大方了很多啊有木有!
引用还可以作为函数的返回值
int n = 4;//全局变量
int& SetValue(){return n;}//该函数的返回值类型是int&,返回一个整型的引用
int main()
{
SetValue() = 40;//第一次看见函数居然在等号的左边,有没有很激动!!
cout << n;//40
return 0;
}
视频里面对于引用的这种用法没有进行过多的讲解,老师说先记着,以后会用到~