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

2023-07-06   


如果既要利用引用提高程序的效率,又要保护传递给函数的数据不在函数中被改变,就应使用常引用。常引用声明方式: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 。


相关内容:

  1. 什么是"引用"?申明和使用"引用"要注意哪些问题?
  2. "引用"与指针的区别是什么
  3. 将"引用"作为函数参数有哪些特点
  4. 声明struct x1 { . . . }; 和typedef struct { . . . }x2;有什么不同
  5. PHP经典面试题
  6. 委托与事件是什么关系?为什么要使用委托