当操作符&作为取地址运算符时,假设
char ch = 'a';
那么&ch是一个右值,而不是一个合法的左值。因为该表达式并未标识任何机器内存的特定位置,对&ch进行求值时,其结果没有地方存储,所以&ch不是一个合法的左值。
在c++中,将声明符写成&d的形式来定义引用类型,其中d是声明的变量名。引用和它的初始值对象绑定在一起,引用是其绑定对象的别名。
int i = 1024;
int &refVal = i;
refVal = 2; // 把2赋给了refVal指向的对象,此处既是赋给了i
int ii = refVal // ii = i 等同