c – 为什么一旦我将引用声明为const然后它可以采用不同类型的数据?

前端之家收集整理的这篇文章主要介绍了c – 为什么一旦我将引用声明为const然后它可以采用不同类型的数据?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
你好我想弄清楚这件事..

说我有这个代码.

int a = 5;
double& b = a; //Error.

然后,一旦我将第二行声明为const,编译器就不会再抱怨了.

const double& b = a; //Correct.

在幕后真正发生了什么,为什么const解决了这个问题.

解决方法

幕后发生的事情是隐含的转换 一个int到一个double.隐式转换的结果不是 一个左值,所以它不能用于初始化非常量 参考.

猜你在找的C&C++相关文章