对于援用的第一个小问题
在 c ++ primer 第五版中文版中,说了这么一句:援用在初始化的时候必须绑定一个对象,且不可重现绑定,然而如果你输出以下代码
int i = 0, j =0;
int &r = i;
r = j;
你会发现,竟然没有报错!难道是书上错了吗?依照我的了解,书上并没有错,r = j
,实际上不是从新绑定,而是把 j 的值赋给了 r 绑定的 i 下来。
援用的第二个小问题
还是在 c ++ primer 中文版第五版中,指出援用自身并不是一个对象,所以不能够应用指针指向它。
而后我写出了如下代码
int i = 0;
int &r = i;
int *p = &r;
竟然又没有报错,到底是我有问题还是书有问题?
然而有了下面一个问题的思考,这个问题也就不难理解,应用一个指针指向一个援用,实际上指向的是这个援用绑定的对象,依照这种思路了解,下面的代码是没有任何问题的。
确定变量类型的小技巧
咱们经常会遇到很简单的类型,例如
const int *p;
int const *p;
int * const p;
const int * const int p;
遇到这种比拟长的变量类型申明时,咱们能够采取从右向左读的方法,例如
cont int *p
就是一个指向 const int
类型的指针,而 int * const p
就是一个常量指针,指向一个 int
类型的数据