const 引用 和 非 const 引用
程序员文章站
2022-05-13 21:25:54
...
非const引用只能绑定到与该引用同类型的对象const引,用可以绑定到不同但相关的类型的对象或绑定到右值
关于const引用,测试用例
#include <iostream>
#include <string>
using namespace std;
int main() {
double b = 2.14;
const int &a=b;//成立
const int &a1=123;//成立
cout<<a<<endl;//2
b=3;
cout<<a<<endl;//2
a=3;//error a is const
return 0;
}
解释两点:
1.关于double b ,int和double存在隐式转换,算是相关的类型.而且,编译器会进行以下代码的转换
double b = 2.14;
const int &a = b;
会进行如下转换:
int temp = b
const int &a=temp;
所以,给b进行赋值,a可能会报错.
非常量引用:
必须类型一致且不能是右值.
上一篇: hibernate一对一关系(组件)映射
下一篇: 详解强引用、软引用、弱引用、虚引用