在什么时候需要使用“常引用”?

行业问题 面试题库 已帮助 人

在什么时候需要使用“常引用”?

热搜:产后大出血一般发生在什么时候

答案解析

难度★★☆ 搜索
  • 正确答案:

    如果既要利用引用提高程序的效率,又要保护传递
    给函数的数据不在函数中被改变,就应使用常引
    用。常引用声明方式:const 类型标识符 &引用名
    =目标变量名;
    例1
    int a ;
    const int &ra=a;
    ra=1; //错误
    a=1; //正确
    例2
    string foo( );
    void bar(string& s);
    那么下面的表达式将是非法的:
    bar(foo( ));
    bar("hello world");
    原因在于foo( )和"hello world"串都会产生一个临时
    对象,而在C++中,这些临时对象都是const 类型
    的。因此上面的表达式就是试图将一个const 类型
    的对象转换为非const 类型,这是非法的。
    引用型参数应该在能被定义为const 的情况下,尽
    量定义为const 。