1.不要返回指向局部变量或临时对象的引用。函数执行完毕后,局部变量和临时对象会消失,引用将指向不存在的数据

2.返回指向const对象的引用

  使用const引用的常见原因是旨在提高效率,但对于何时采用这种方式存在一些限制。

  如果函数返回传递给它的对象,可以通过返回引用来提高效率。

  A Max(const A & a1,const A &a2)

  {

    if(a1.v>a2.v)

      reutrn a1;

    else

      return a2;

  }

  const A & Max(const A &a1,const A & a2)

  { 

    if(a1.v>a2.v)

      reutrn a1;

    else

      return a2;

  }

第一个方法返回将调用复制构造函数A(const A &a);而第二个方法返回引用不会,因此第二个版本所做的工作更少,

效率更高

c++返回值 注意事项相关推荐

  1. 前端学习(740):函数返回值注意事项

  2. Python基础day05【函数(局部变量、全局变量、多函数执行流程、函数返回值、函数参数)、拆包、引用、可变与不可变类型、函数注意事项】

    视频.源码.课件.软件.笔记:超全面Python基础入门教程[十天课程]博客笔记汇总表[黑马程序员] Python基础day05[函数(函数传参的两种形式.函数形参).拆包.引用.可变与不可变类型.引 ...

  3. C++将“引用”作为函数返回值类型的格式、好处和注意事项?

    格式: 类型标识符 &函数名(形参列表及类型说明){ //函数体 } 好处: 在内存中不产生被返回值的副本:(注意:正是因为这点原因,所以返回一个局部变量的引用是不可取的.因为随着该局部变量生 ...

  4. C#使用ExecuteReader返回DataReader既有查询结果集又有输出参数或返回值的使用注意事项...

    Command 对象公开了几个可用于执行所需操作的 Execute 方法.当以数据流的形式返回结果时,使用 ExecuteReader 可返回 DataReader 对象.使用 ExecuteScal ...

  5. java runtime 返回值_Java Runtime.exec()注意事项 | 学步园

    转载自:http://blog.csdn.net/flying881114/archive/2011/03/23/6272472.aspx 0. Runtime.exec()用来执行外部程序或命令 1 ...

  6. c语言传入的指针无返回值,c语言 关于指针注意事项

    使用指针变量作为函数参数时,只有在获取地址的情况下对元素(*p)进行操作,才能真正地修改变量.因为此时实参传给形参,就是将堆上的申请的首地址传给形参,这样形参和实参都指向了堆上的内存,形参对堆上内存内 ...

  7. C++ 笔记(02)— 程序结构(头文件说明、命名空间、函数返回值、函数参数、注释、语句结束符、cin/cout)

    先看以下代码 #include <iostream> #include <string> using namespace std;int main() // main() 是程 ...

  8. C++编程进阶3(如何写出正确的operator=、operator运算符的返回值以及是否应该是成员函数的讨论)

    八.如何写出一个安全的operator= 首先,operator=的返回值通常是一个类的引用,这一点需要和C++标准库的容器类的operator=保持一致 其次,如果一个类中含有指针成员,那么要防止自 ...

  9. java多线程测试框架(含入参和返回值)

    最近要对一个webservice接口做测试,需测试高并发接口是否会以异常数据返回,编写了如下demo,有类似需求的可以参考下. 注意事项: 1,线程使用了callable接口形式,call相对runa ...

最新文章

  1. SANS:2018年SOC调查报告
  2. Linux下防止文件误删方法
  3. 小白自学Java框架,框架的全面解析总结
  4. 【北京】微软技术直通车(第二期) 之 SQL Server 2017饕餮
  5. ril.java_RIL.java里request流程
  6. android onfling参数,Android 屏幕手势滑动中onFling()函数的技巧分析
  7. jfinal 获得 webapp 文件下文件路径
  8. python函数代码,这个python函数代码如何工作?
  9. Cocos2d-JS特效
  10. php读取西门子plc_第三方设备如何读取PLC数据
  11. 测试一段C代码的执行时间(windows系统和ubuntu系统)
  12. 【python】-- 多进程的基本语法 、进程间数据交互与共享、进程锁和进程池的使用...
  13. python stderr 中文_【Python入门教程】 超详细讲解,1小时学会Python(不会来找我!)...
  14. C/C++编程工具及实用小软件推荐
  15. 新建Office文件丨默认模板文件
  16. ASP.NET学生管理系统(.NET毕业设计)
  17. Linux epoll模型详解
  18. 无线打印机服务器如何使用,普通打印机如何变身无线打印?
  19. 关于资产分池ABS等金融衍生品内容来袭
  20. [转]色度抽样(4:2:0)到底是什么意思?

热门文章

  1. 利用OpenSSH实现基于秘钥的认证
  2. hibernate要点
  3. 接口、类、抽象类、对象的另类解释
  4. 迷你信使(MM)的软件设计界面
  5. 深入Atlas系列:Web Sevices Access in Atlas示例(6) - 在客户端隐藏服务器端类型信息...
  6. 用ABAP代码读取S/4HANA生产订单工序明细
  7. Apache、Nginx、Tomcat、PHP的区别
  8. CGI,FastCGI与PHP
  9. Linux/CentOS优化配置 汇总
  10. Android系统自带样式(android:theme)(转)