为什么C++中常量引用可以绑定非常量的对象
1个回答
展开全部
因为常量引用绑定的是非常量对象时,编译器创建了一个由这个非常量对象转换成的常量临时对象,而常量引用实际绑定的是这个临时对象,而不是非常量对象.相当于自动给代码补了一条非常转常的代码,类似隐式转换.
而允许这么做的原因之一是常量引用不会去更改这个值.而临时对象是不能被更改的.
double dval = 3.14;
const int temp = dval; // 由double生成了一个临时的整形常量
const int &b = temp; // 让b绑定这个临时量
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询