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

原创 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 << v << endl...

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语句的时候返回啥? 【转载】

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

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

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

Python-Selenium2做Web自动化测试(1)-软件测试分类以及什么时候需要进行自动化测试

关于软件测试领域名词: 1.单元测试、集成测试、系统测试、验收测试 1)单元测试:单元测试(或模块测试)是对程序中的单个子程序或具有独立功能的代码段进行测试的过程。 2)集成测试:集成测试是单元测试的...

recv什么时候返回

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

oracle什么时候需要commit

今天在oracle的SQL plus 中执行了删除和查询操作,然后在PL/SQL中也执行查询操作,语句一样,结果却不一样,让我大感郁闷,后来才突然想到可能是两边数据不一致造成的,但是为什么不一致呢,就...

STM32的AFIO时钟什么时候需要开启

相比于普通单片机,STM32 拥有复杂的时钟系统,相应的控制器称为 RCC(Reset Clock Controller,复位与时钟控制器)。每个外设都配备了外设时钟的开关,当我们不使用某个外设时,可...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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