此文衔接另外一篇C++引用详解:C++引用& 以及 引用的权限的扩大与缩小-CSDN博客
因为是拓展所以另起一篇
我们先看两个例子:
1.为什么int型能转化为非引用的double型变量,而加了引用就不行了呢?
2.为什么加了const就行了呢?
要搞明白为什么,首先得知道在C/C++里有一个规定:发生类型转换时会产生一个临时变量,所以a并非直接传值给b,而是先传值给一个临时变量(假定它为c),c是double型的,再由c传值给b。
其次,临时变量还有一个特性:常性(即不能改变) ,于是上面第一个图的代码就相当于:
如果你看了上篇C++引用详解的话一定看它很眼熟,就是权限不能扩大。
而第二张图就是权限的平移。