1、引用的概念
引用是个别名,它作为目标的别名而使用,对引用的改动实际就是对目标的改动。
例如:
int a = 1;
int&b = a; //b是的别名
b = 2;//这时打印输出a和b,值都为2
引用不是值,不占存储空间,声明引用时,目标的存储状态不会改变。
如果程序寻找引用的地址,它只能找到所引用的目标的地址。
例如:
int a = 1;
int&b = a;
cout<<"&a"<<&a<<endl;
cout<<"&b"<<&b<<endl; //a和b的地址相同
2、引用与地址操作符的区别
引用运算符与地址操作符使用相同的符号,但它们不一样。
引用运算符只在声明的时候使用,它放在类型名后面,例如:
int & b = a;
而其它的“&”都是地址操作符,例如:
int *b = &a;
下面三种声明引用的方法都是合法的:
int& a;
int &a;
int & a;