函数的返回值
2016-04-21 21:31
211 查看
引用类型的返回值与非引用类型的返回值非引用类型的返回值处理:调用函数的时候会创建一个临时对象,用函数返回值初始化临时对象与用实参初始化形参是一样的。如果返回值不是引用,会将返回值复制给临时对象,且其返回值既可以是临时对象,也可以是表达式求解的结果。引用类型的返回值处理:当函数返回引用类型时,没有复制对象,直接返回的对象本身。函数返回引用:1.返回的是对象本身,而不是对象的复制2.返回引用,要求返回的是一个生命周期尚未结束的对象。 返回全局变量; 函数参数中通过指针或引用传递的对象; 不能返回临时对象的引用,临时对象会在函数返回时被析构。返回的引用实际上是不确定的内存。 对引用类型的返回值和参数最好加上const保护,避免异常破坏对象,实际操作的是同一个对象。什么时候可以返回引用 返回值指向函数调用前已经存在的对象是合理的。如何正确的使用引用类型的返回值 用一个引用来接收,否则还是复制了对象,使用的是返回值的一个拷贝。返回值的处理和实参与形参的处理是一致的。
相关文章推荐
- UNIX高级环境编程(15)进程和内存分配 < 故宫角楼 >
- fatal error C1010 error c2143 warning C4627: 在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include "stdafx.h
- Fragment生命周期详解
- 机器学习中三类参数估计的方法
- 高光谱ENVI矢量做ROI 用来裁剪、掩膜
- eden-Debug-输出输入捕获助手
- Fragment生命周期详解
- 如何写出专业级OOP程序-----文档注释
- 使用Callable接口实现多线程
- 二叉树的非递归实现
- spring websocket 利用注解接收和发送消息
- 通过web.xml文件自动启动spring容器加载对应的配置文件
- python 安装cx_Oracle模块, MySQLdb模块, Tornado
- MBTI-性格测试
- HDU 4279 Number (数论,数学)
- Git 与 GitHub使用指南汇总
- 面向对象
- session 和 cookie 的区别与联系
- NOIP2011提高组 聪明的质监员 -SilverN
- 阶段冲刺3