将引用作为函数返回值类型的格式如下所示:
类型标识符 & 函数名(形参列表及类型说明){// 函数体}
将引用作为返回值的优点是:在内存中不产生被返回值的副本,从而大大提高了程序的安全性和效率。
具体而言,将引用作为函数函数返回值类型的格式一般要注意一下4点内容:
1) 当返回一个引用时,要注意被引用的对象不能超出作用域。所以不能返回局部变量的引用。但是可以返回一个静态变量的引用。
int& func() { int q; //! return q; // 在编译时发生错误 static int x; return x; // 安全,x 在函数作用域外依然是有效的 }
2) 不能返回函数内部new分配的内存的引用。
3) 可以返回类成员的引用,但最好是常引用类型。
4) 流操作符<<和>>。