太一的博客

一个程序学徒

引用

引用的本质

引用的本质,其实就是一个指针常量

举例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>

using namespace std;

// 发现是引用,转换为 int* const ref = &a;
void fuc(int& ref) {
ref = 100; // ref 是引用,转换为 *ref = 100
}

int main() {
int a = 10;

// 自动转换为 int* const ref = &a; 指针常量是指针指向不可以更改,也说明引用为什么不可以更改
int &ref = a;
ref = 20; // 内部发现ref是引用,自动帮我们转换为 *ref = 20

cout << "a: " << a << endl;
cout << "ref: " << ref << endl;

func(a);
return 0;
}