引用的本质:指针常量(int * const p= &a;),指针的指向不可以改,指针指向的值可以改
关于指针常量的理解:const在int前,值不可以改;const在int后,值可以改
因此,引用一旦初始化后,就不可以发生改变
#include<iostream>
using namespace std;
//发现是引用,转换为int * const ref = &a;
void func(int& 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;
}