C++引用的内部实现,是一个指针变量。
int* const ref = &a;
指针常量:指针指向的位置是不能改变的,但指向内存中的值是可以改变的。
#include<iostream>
using namespace std;
void func(int& ref){
ref = 100; // ref是引用,转换为 *ref = 100
}
int main(){
int a = 10;
int& ref = a; // 转换为int* const ref = &a; 指针常量是指针指向的位置不可变,所以引用不能修改
ref = 20;
cout << "a:" << a << endl;
cout << "ref:" << ref << endl; // 发现ref是引用时,自动转换为*ref = 20;
func(a);
return 0;
}