目录
结论:如果返回变量出了作用域(生命周期(局部变量))就销毁,不能使用引用返回。
一.引用
引用只是给一个变量重新取了一个名字,取了一个别名,不会给引用重新分配空间。
1.1引用和取地址
引用: 在一个类型的后面加上& 等于一个变量。为取别名
int a = 0;
int& b = a;
取地址:在一个变量前面加上&
cout << &b << endl
1.2 别名和原名的区别
别名=原名。鲁迅就是周树人,他们是等价的,所以对其中一个++,他们都++,所以他们输出的结果是一样的。
int a =0;
int& b =a;
cout << &b <<endl;
cout << &a <<endl;
b++;
a++;

- 别名可以有多个。
- 可以给别名取别名。
1.3 引用的用法
1.31 做参数
1.311 输出型参数:形参改变实参
例如交换两个数的函数,在C语言中,由于形参是实参的拷贝,所以如果想让形参改变实参就要传地址,然后形参用指针接收。
void swap(int* a,int* b)
{
...
}
int main()
{
int x =5;
int y =6;
swap(&x,&y);
}
在C++里就不用,直接用别名,因为别名就等价于原名,对别名的改变就等于改变原名。
void swap(int& a,int& b)
{
int tmp = a;
a = b;
b =tmp;
}
int main()
{
int x =5;
int y =6;
swap(x,y);
}

最低0.47元/天 解锁文章
26万+





