(持续更新)c++引用
引用的基本使用
作用:给变量起别名
语法:数据类型 &别名 = 原名
图示:
代码:
//引用基本语法 //数据类型 &别名 = 原名 int a = 10; int &b = a; //创建引用 //结果:a=10 b=10 cout << "a=" << a << endl; cout << "b=" << b << endl; b=20; //修改b指向的值,等同于修改a的值 //结果:a=20 b=20 cout << "a=" << a << endl; cout << "b=" << b << endl;
引用的注意事项
- 引用必须初始化
- 引用在初始化后,不可以修改
图示:
代码:
int a = 10; //int &b; 错误,引用必须初始化 int &b = a; //引用在初始化后不可以改变 int c = 20; b = c; //赋值操作,而不是更改引用 cout << "a=" << a << endl; cout << "b=" << b << endl; cout << "c=" << c << endl;
引用做函数参数
作用:函数传参时,可以利用引用的技术让形参修饰实参
优点:可以简化指针修改实参
代码:
#include <iostream> using namespace std; //1、值传递 void mySwap01(int a, int b) { int temp = a; a = b; b = temp; } //2、指针传递 void mySwap02(int *a, int *b) { int temp = *a; *a = *b; *b = temp; } //3、引用传递 void mySwap03(int &a, int &b) { int temp = a; a = b; b = temp; } int main() { int a = 10; int b = 20; mySwap01(a, b); //结果:a=10 b=20 cout << "a=" << a << endl; cout << "b=" << b << endl; mySwap02(&a, &b); //结果:a=20 b=10 cout << "a=" << a << endl; cout << "b=" << b << endl; mySwap03(a, b); //结果:a=10 b=20 cout << "a=" << a << endl; cout << "b=" << b << endl; }