手机
当前位置:查字典教程网 >编程开发 >C语言 >c++ const引用与非const引用介绍
c++ const引用与非const引用介绍
摘要:const引用是指向const对象的引用。复制代码代码如下:constinti=10;constint&ref=i;可以读取ref,但不能修...

const引用是指向const对象的引用。

复制代码 代码如下:

const int i = 10;

const int &ref = i;

可以读取ref,但不能修改。这样做是有意义的,因为i本身就不可修改,当然也不能通过ref来修改了。所以也就有将const变量赋值给非const引用是非法的。

复制代码 代码如下:

int &ref1 = i; // error: nonconst reference to a const object

非const引用是指向非const类型变量的引用。

const引用可以初始化为不同类型的对象或者右值(如字面值常量),但非const引用不可以。

复制代码 代码如下:

// legal for const references only

int i = 10;

const int & ref = 42;

const int & ref1 = r + i;

double d = 3.14;

const int &ref2 = d;

以绑定到不同类型的ref2为例解释原因,编译器会把ref2相关的代码转换如下:

复制代码 代码如下:

int temp = d;

const int &ref2 = temp; // bind ref2 to temporary

ref2实际上是绑定到一个临时变量上,如果ref2不为const,那么按道理就可以通过修改ref2而修改d的值,但实际上d并不会改变。所以为了避免这个问题,ref2只能是const。

非const引用只能绑定到与该引用同类型的对象,const引用则可以绑定到不同但相关的类型的对象或绑定到右值。

【c++ const引用与非const引用介绍】相关文章:

c语言中数组名a和&a详细介绍

C++中共用体的定义与应用总结

C++中不能被重载的运算符介绍

Define,const,static用法总结

Qt之ui在程序中的使用-多继承法介绍

C++嵌套类与局部类详细解析

C++中this指针的用法及介绍

关于"引用"的几点说明介绍

linux下access函数的用法介绍

c++ 判断奇数偶数实例介绍

精品推荐
分类导航