#include<iostream>
using namespace std;
int main() {
//引用相当于一个常量指针,值得注意的就是 在创建的时候必须初始化 再更改就是重新赋值了
int a = 10;
int& b = a;//创建一个引用,相当于一个别名
int c = 100;
cout << "a=" << a << endl;
cout << "b=" << b << endl;
b = c;//b是a的别名,此时赋值操作,就是更改a
cout << "a=" << a << endl;
cout << "b=" << b << endl;
/*
//关于常量 const, 离类型 和 指针看离哪个近 const靠近*还是类型,那么谁就是不变的。
比如 const int 和 int const 是一样的
const int* d=&a;
int* const e = &c;
1.const int * 是 常量指针,const 靠近类型 说明指针指向的值是不能被修改的,但是指针指向可以被修改
*d=c; 就是非法的操作; d=&c可以
2.int * const 是 指针常量,const 靠近指针 说明指针是常量,指针指向是固定的,但是指针指向的值可以被修改
e=&a; 就是非法的操作; *e=a可以
*/
}
引用其实本质还是指针,只不过用起来更简单一些。从汇编上看,b存放着a的地址。
下面是对常量的引用,如果直接int &d=10是不合法的。想要对常量的引用就可以在前面加上const,
从汇编上就是先创建一个临时变量temp 存放10,然后再将temp的地址给d
const 和引用的结合就是 对常量的引用,常用于只读而避免更改;