C++函数的返回值(上)
来源:互联网 发布:火锅店库存软件 编辑:程序博客网 时间:2024/06/07 00:08
对于C++有返回值的函数来说,其返回值的类型可以是值类型,也可以是引用类型。
1 返回值为值类型的函数
使用临时对象(temporary object)来保存函数的返回值。函数的返回值用于初始化调用点的一个临时对象,该临时对象就是函数调用的结果。如
int func(){return 1;}int i = func();此时,有一个临时对象用来保存func()函数的返回值1,之后将临时对象的值赋值给变量i。像其它任何对象一样,临时对象需要存储空间,并且能够构造和销毁。临时对象和其它对象的区别在于从来看不到它们,编译器负责决定他们的去留以及它们存在的细节。编译器使得所有的临时量自动地成为const。所以,对于返回值为值类型的函数,其返回值为右值。
char get_val(string& str, int index){return str[index - 1];}string str = "12345";char ch = get_val(str, 1);//ch的值是’1’get_val(str, 1) = 'a';//编译时报错,error C2106: “=”: 左操作数必须为左值
2 返回值为引用类型的函数
当函数的返回值是引用类型时,其返回值即为return的变量,所以不需要临时对象保存其返回值。所以,对于返回值为引用类型的函数,其返回值为左值。
char& get_val(string& str, int index){return str[index - 1];}string str = "12345";char ch = get_val(str, 1);//ch的值是’1’get_val(str, 1) = 'a';//此时str的值为”a2345”
阅读全文
0 0
- C++函数的返回值(上)
- C函数的返回值
- c 函数的返回值
- C++(4):函数的输入参数和返回值
- c++(函数返回值的及其优化)
- C语言函数返回值的获取
- C中fread()函数的返回值
- C&C++ 函数的值返回
- 【C++】指针作为函数的返回值
- C语言 printf函数的返回值
- C语言fgetc()函数的返回值
- C main 函数的返回值
- C返回指针的函数
- 返回值为C/C++函数指针的函数
- VC6对函数返回过程的优化(上)
- C语言的函数(第一篇章:函数的概述、定义、类型与返回值)
- C语言函数返回数组,有个知道上的回答是错的
- c程序函数返回值
- Vivado HLS 入门实验
- 那些精致的web UI框架
- CentOS下配置sendmail外部邮箱
- Bailian3708 1的个数【进制】
- Bailian2766 最大子矩阵【最大子段和+DP】
- C++函数的返回值(上)
- 对标英伟达,英国AI芯片制造商Graphcore获得红杉资本5000万美元新投资
- Xcode9学习笔记58
- 这颗实时跟踪精神病人用药状态的数字药丸,终于被美国药监局「放行」了!
- 「我解雇了打压共享出行服务的负责人」:亚利桑那成为自动驾驶热土背后的故事
- 吴恩达团队展示全新医疗影像识别技术:肺炎诊断准确率超过人类医生
- NIPS 2017最佳论文出炉:CMU冷扑大师不完美信息博弈研究获奖
- 谷歌发布自然语言框架语义解析器SLING
- 依图公布全球化战略,与微软共同建设全球智慧城市