引用---引用型返回值
来源:互联网 发布:压缩弹簧计算软件 编辑:程序博客网 时间:2024/05/17 23:16
一.返回左值
•值形式的函数返回值通常都具有右值属性,即在函数的调用者空间根据函数的返回类型创建一个匿名对象,负责接收该函数的返回值
•用于接收函数返回值的匿名对象和表达式的值类似,通常只具有语句级生命期且只读,即所谓将亡右值
•如果函数返回的是一个引用,那么用于接收该返回值的就不再是一个匿名的将亡右值对象,而是一个引用该函数所返回引用的目标对象的引用,甚至可以是左值引用
•函数返回的左值引用可与其它任何形式的左值一样,参与包括赋值、复合赋值、自增减等在内的各种左值运算
二.不能返回局部变量的引用
•函数的局部变量只具有函数级甚至块或语句级的生命周期,函数一旦返回,所有的局部变量即刻销毁,即使通过返回值获得了对它们的引用,其目标也将是未定义的
–int& foo (void) { int n = 123; return n; } // 危险 int* bar (void) { int n = 456; return &n; } // 危险 int hum (void) { int n = 789; return n; }–int& foo (int& n) { return n; } int& bar (int* n) { return *n; } int& hum (int n) { return n; } // 危险–int* foo (int& n) { return &n; } int* bar (int* n) { return n; } int* hum (int n) { return &n; } // 危险
阅读全文
0 0
- 引用---引用型返回值
- 引用---常引用型返回值
- 引用左值(返回引用)
- 用引用返回值
- 用引用返回值
- 引用作为返回值
- 用引用返回值
- 引用返回函数值
- c++引用 返回值
- 用引用返回值
- c++引用返回值
- c++引用返回值
- 引用作为返回值
- 引用返回左值
- 通过引用返回值
- 通过引用返回值
- c++引用返回值
- 引用返回值
- block,inline和inline-block概念和区别
- ActionBar的那些坑
- 图解Elasticsearch中的_source、_all、store和index属性
- Python3教程Web开发实战梳理-day10(用户注册和登录)
- Python 安装 whl文件
- 引用---引用型返回值
- 大数据时代,参数怎么降维?
- javascript事件冒泡学习
- Spring IOC与依赖注入
- Linux Mint 18.2 安装shutter截图工具之快捷键设置
- git 常用命令
- ROM、RAM、DRAM、SRAM和FLASH的区别
- 如何使用阿里云虚拟主机搭建博客(三)设置篇
- Leetcode算法学习日志 -240 Search a 2D Matrix 2