什么时候需要将引用作为返回值

原创 2016年08月28日 19:38:44

将引用作为函数返回值类型的格式如下所示:

类型标识符 & 函数名(形参列表及类型说明){// 函数体}

将引用作为返回值的优点是:在内存中不产生被返回值的副本,从而大大提高了程序的安全性和效率。

具体而言,将引用作为函数函数返回值类型的格式一般要注意一下4点内容:

1) 当返回一个引用时,要注意被引用的对象不能超出作用域。所以不能返回局部变量的引用。但是可以返回一个静态变量的引用。

int& func() {
   int q;
   //! return q; // 在编译时发生错误
   static int x;
   return x;     // 安全,x 在函数作用域外依然是有效的
}

2) 不能返回函数内部new分配的内存的引用。

3) 可以返回类成员的引用,但最好是常引用类型。

4) 流操作符<<和>>。

返回一个临时变量的右值引用,那么临时对象什么时候释放?

最近在研究右值引用的时候碰到这个问题,还没有解决,将问题贴在这里,待更新: const int* printAddress(const int & v) { cout ...

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

在什么时候需要使用“常引用”?      如果既要利用引用提高程序的效率,又要保护传递给函数的数据不在函数中被改变,就应使用常引用。常引用声明方式:const 类型标识符 &引用名=目标变量名;...

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

在什么时候需要使用“常引用”? 2014年10月27日 ⁄ 综合 ⁄ 共 2061字 ⁄ 字号 小 中 大 ⁄ 评论关闭 在什么时候需要使用“常引用”?  ...

C++:C++方法(函数)传参,传值,传址,传引用的之间的区别,什么时候用那个好一点

C++中函数传参: 1).按值传递(pass by value) value 2).地址传递(pass by pointer) *value 3).引用传递(pass by ref...

函数在什么时候需要“引用”类型的参数

函数在什么时候需要“引用”类型的参数  (2009-08-29 15:30:13) 转载▼ 标签:  c   函数参数   引用   it ...

关于函数返回值为数组的时候的问题解析

转载地址:http://www.cnblogs.com/micky-zhou/archive/2012/08/08/2628773.html 用函数返回值来传递动态内存这种方法虽然好用。但是常常有...

bool型返回值函数,没写return语句的时候返回啥?

今天因为漏写了一个return语句,g++又没开warning,结果就悲剧了,调用的时候出现了奇怪的现象,于是就测试了一把到底没写return的时候返回什么东西。 例程: #include #inc...
  • LD0807
  • LD0807
  • 2017年01月13日 21:09
  • 815

bool型返回值函数,没写return语句的时候返回啥? 【转载】

转载网址:http://hi.baidu.com/pope123/blog/item/7c9315f7630b6630730eec79.html今天因为漏写了一个return语句,g++又没开warn...

recv什么时候返回

原文 : http://blog.csdn.net/zlzlei/article/details/7689409 以前老在网上找别人说recv什么时候返回,要么说的很笼统,要么完全觉得不靠谱,最近还...

请解释一下为什么会出现浮动和什么时候需要清除浮动?清除浮动的方式?

为什么出现浮动?浮动float最开始出现的意义是为了让文字环绕图片而已,但人们发现,如果想要三个块级元素并排显示,都给它们加个float来得会比较方便。什么时候清除浮动? 如果想要实现三个块级元素并...
  • sjinsa
  • sjinsa
  • 2017年04月28日 18:25
  • 3335
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:什么时候需要将引用作为返回值
举报原因:
原因补充:

(最多只允许输入30个字)