1.C++中的引用虽然好用,但它的使用也有着一定的限制。例如权限只能被缩小,不能被放大
所以上面因为原来的c是被const修饰过,所以无法在采用取别名的方式放大权限。
但如果我们也将别名采用const修饰则不会报错,因为这是权限的平移。
并且权限可以被缩小
可以看见加了const 修饰的别名是没有错误的,而此时权限被缩小了,而被缩小的也只是别名,此时原本的C的类型并没有被改变,可以通过改变c来改变d的值。
在用类型不同的变量来传递数值,会发生截断的情况
但截断的情况是由于内部产生了一个常量来进行传递
所以此时用别名来接收是错误的(权限被放大)
不过如果采用const来修饰则不会产生错误(权限平移)
同理函数的值返回也是一样
最后说一下引用和指针的区别
1.指针是创建一块空间存放所指向的地址,引用是一块空间的另一个名字
2.引用必须初始化,而指针没有要求
3.引用的对象不能再改变,而指针指向的对象可以改变
4.没有NULL引用,只有NULL指针
5.指针的大小永远是内存储存地址的空间大小,而引用的大小是所对于类型的大小
6.指针加一是越过一个对应类型的大小的字节,而引用加一是指对引用的对象的值加1.
7.有多级指针,没有多级引用
8.引用比指针安全。