如果你对C++++引用还不是很了解,那可以先看看这篇浅谈C++ const引用以及非const引用,通俗易懂的说明,尽量让大家掌握运用和基本概念的理解,感兴趣的朋友来了解下,或许本文对你走上C++的路有所帮助。
const引用是指向const对象的引用。
可以读取ref,但不能修改。这样做是有意义的,因为i本身就不可修改,当然也不能通过ref来修改了。所以也就有将const变量赋值给非const引用是非法的。
非const引用是指向非const类型变量的引用。
const引用可以初始化为不同类型的对象或者右值(如字面值常量),但非const引用不可以。
以绑定到不同类型的ref2为例解释原因,编译器会把ref2相关的代码转换如下:
ref2实际上是绑定到一个临时变量上,如果ref2不为const,那么按道理就可以通过修改ref2而修改d的值,但实际上d并不会改变。所以为了避免这个问题,ref2只能是const。
非const引用只能绑定到与该引用同类型的对象,const引用则可以绑定到不同但相关的类型的对象或绑定到右值。
以上就是浅谈C++ const引用以及非const引用的介绍,如果大家想了解更多相关内容,请持续关注本站,武林小编将会在第一时间为大家带来更好的经典内容。
新闻热点
疑难解答
图片精选