常量引用常用来修饰形参,防止函数体内的误操作
例:
void Test(int & a){
cout<<a<<endl;
}
int main(){
int a = 10;
Test(a);
cout<<a<<endl;
cout<<a<<endl;
return 0;
}
此时的结果是10;
但是由于形参使用的是引用的方式时,在调用函数的时候发生的其实是地址传递,形参会修饰实参,如果在函数体内中添加 a=100;后,实参会发生变化。但是在我们添加const后就无法在函数体内部修改实参了。
例:
void Test(const int & a){
//a = 100;
cout<<a<<endl;
}
int main(){
int a = 10;
Test(a);
cout<<a<<endl;
cout<<a<<endl;
return 0;
}
如果再在函数体内修改形参,最会被提示:
所以,当我们又想使用地址传递,但是又不想不小心修改了实参的话,可以使用常量引用。