const 引用:
1.
int i = 20;
const int& refer = i;
i = 12;
可以, refer的值会变, 但是不能给refer赋值
2
int i = 20;
int* &rval = &i;
错误, a refrence is not to const cannot be bound to a non-lvalue
因为&i不是一个左值, 所以ral必须声明为const型的 int* const &rval = &i;
数组的引用:
int ia[10];
int (&iaref)[10] = ia;这样就得到了一个数组的引用
void putValues(int (&ia)[]);
错误, 数组的引用必须指定大小,
void putValues(int (&ia)[12]); 这样如果传入的不是指定大小的数组, 编译是通不过的
不能定义元素是引用的数组:
原因:引用是必须要初始化的,必须指向某个变量
而数组并不能被另一个数组初始化或被另一个数组赋值所以定义引用数组非法