在什么时候需要使用常引用

如果既要利用引用提高程序的效率,又要保护传递给函数的数据不在函数中被改变,就应使用常引用。

常引用声明方式:const 类型标识符 &引用名=目标变量名;

例:

int i;

const int &ra = i;

ra = 1; //错误

i = 1; //正确
string doo( );
 
void aar(string & s);
 
那么下面的表达式将是非法的:
 
aar(doo( ));
 
aar("hello world");

原因在于doo( )和"hello world"串都会产生一个临时对象,而在C++中,这些临时对象都是const类型的。因此上面的表达式就是试图将一个const类型的对象转换为非const类型,这是非法的。

引用型参数应该在能被定义为const的情况下,尽量定义为const 。

猜你喜欢

转载自blog.csdn.net/weixin_41066529/article/details/89642413
今日推荐