我遇到了一个代码片段
const int& reference_to_const_int = 20;
cout<<"\n reference_to_const_int = "<<reference_to_const_int<<endl;
此代码编译并执行输出:-
reference_to_const_int = 20
这对我来说很奇怪。据我所知,参考不占用内存,它们是其他变量的别名。因此我们不能说
int& reference_to_int = 30;
上述语句不应编译给出错误:-
error: invalid initialization of non-const reference of type ‘int&’ from an rvalue of type ‘int’
在“const int&”的情况下到底发生了什么?需要一个完整的解释。
请帮忙。
谢谢