文章目录
- 引用
- 一、引用的定义
- 二、引用做函数参数
- 三、引用作为返回对象
- 四、引用的本质
- 五、常量引用
引用
即给一个变量起别名。
一、引用的定义
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;
}