引用的本质其实就是指针常量,只不过是通过编译器来实现

alt

(1)即指针本身不可变,但指向的内容可变

int x = 10;
int y = 20;

int* const ptr = &x;  // ptr是常量指针,指向int类型
// ptr = &y;  // 错误!不能修改ptr本身(指针不可变)
*ptr = 30;         // 正确!可以修改ptr指向的内容(x变为30)