C++学习笔记13——函数返回值
2015-10-10 20:33
393 查看
1,返回void类型
(1)函数结束时可以不使用return语句;
(2) return;
(3) return fun(); //其中fun()返回void类型
2,返回非引用类型
在调用函数的地方,将返回值复制给临时对象
3,返回引用类型
(1)在调用函数的地方,没有复制返回值,返回的是对象本身;
(2)千万不可以返回局部变量的引用。因为当函数调用结束后,局部变量不再存在;
(3)普通引用返回的是左值,可以对返回的值直接赋值
设有如下函数定义,
则
3
17
(4)如果不希望引用返回值被修改,则返回值应声明为const:
(1)函数结束时可以不使用return语句;
(2) return;
(3) return fun(); //其中fun()返回void类型
2,返回非引用类型
在调用函数的地方,将返回值复制给临时对象
3,返回引用类型
(1)在调用函数的地方,没有复制返回值,返回的是对象本身;
(2)千万不可以返回局部变量的引用。因为当函数调用结束后,局部变量不再存在;
(3)普通引用返回的是左值,可以对返回的值直接赋值
设有如下函数定义,
double &get_val(double (&arr)[10],size_t ix) { return arr[ix]; }
则
double d_arr[10] = {0,1,2,3,4,5,6,7,8,9}; cout << d_arr[3] << endl; get_val(d_arr,3) = 17; //给函数返回值赋值 cout << d_arr[3] << endl;分别打印出结果:
3
17
(4)如果不希望引用返回值被修改,则返回值应声明为const:
const double &get_const_val(double (&arr)[10],size_t ix) { return arr[ix]; }这样给get_const_val()的返回值赋值时会报错。
//error C3892: “d_arr”: 不能给常量赋值 get_const_val(d_arr,3) = 9; cout << get_const_val(d_arr,3) << endl;
相关文章推荐
- C++学习笔记12——函数的参数传递
- C++学习笔记11——动态数组与多维数组
- C++学习笔记10——指针
- C++学习笔记9——数组
- C++学习笔记8——迭代器(iterator)
- 栈的顺序存储方式的C语言实现
- C++基础语法注意细节
- .h和.c和.cpp多文件包含时候发生的多重定义错误问题(转载)
- C++:堆与栈区别
- C++学习笔记7——vector
- C++的64位整数
- C++学习笔记6——string
- C++学习笔记5——引用
- C++学习笔记4——const
- C++学习笔记3——变量
- c语言中static作用的简单概述
- C++中变量存储类型
- C++学习笔记2——浮点型与字面值
- C++学习笔记1——iostream与整型
- C语言入门之输入输出