引用相关

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]); 这样如果传入的不是指定大小的数组, 编译是通不过的

不能定义元素是引用的数组:

原因:引用是必须要初始化的,必须指向某个变量

而数组并不能被另一个数组初始化或被另一个数组赋值
所以定义引用数组非法
原文地址:https://www.cnblogs.com/lidan/p/2239510.html