文章目录
- 引用
- 一、引用的定义
- 二、引用做函数参数
- 三、引用作为返回对象
- 四、引用的本质
- 五、常量引用
引用
即给一个变量起别名。
一、引用的定义
int a = 10;
//引用
int& b = a;
cout << "a = " << a << endl;
cout << "b = " << b << endl;
b = 20;
cout << "修改后" << endl;
cout << "a = " << a << endl;
cout << "b = " << b << endl;
/***
输出结果:
a = 10
b = 10
修改后
a = 20
b = 20
**/
引用要求:
- 引用必须初始化。
- 引用之后,不可以更改引用的对象。
二、引用做函数参数
使用形参修饰实参。
#include<iostream>
using namespace std;
void m_swap(int& a, int& b)
{
int temp = a;
a = b;
b = temp;
}
int main()
{
//int a = 10;
//int& b = a;
int a = 10;
int b = 20;
cout << "a = " << a << endl;
cout << "b = " << b << endl;
m_swap(a, b);
cout << "交换后" << endl;
cout << "a = " << a << endl;
cout << "b = " << b << endl;
return 0;
}
/***
输出结果;
a = 10
b = 20
交换后
a = 20
b = 10
***/
三、引用作为返回对象
- 不可以返回局部变量的引用。
int& add(int& a,int b)
{
int sum = a + b;
//错误行为
return sum;
//正确行为
return a;
}
- 可以作为左值
add() = 20;
四、引用的本质
引用的本质是指针常量,当使用引用时,编译器会把它转换成指针常量。
五、常量引用
void print(const int& a)
{
//使用const后,不能对a进行改修。
cout << a << endl;
}