对于援用的第一个小问题

在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类型的数据