今天的学习任务:完成3.2节“深入讨论函数返回值”,包括“返回引用的函数”、“返回指针的函数”、“返回对象的函数”、“函数返回值作为函数的参数”,共四个例题。C++函数的返回值类型可以是除数组和函数以外的任何类型,非void类型的函数必须向调用者返回一个值。数组只能返回地址。
1、返回引用的函数,例3-8如下图1所示,知识点:①返回一个引用的主要目的是为了将函数用在赋值运算符的左边,一个函数是不能直接用在赋值运算符左边的;②自行测试了一下将数组元素直接放在赋值运算符左边,也能达到函数一样的效果,所以除了说明前一点此函数好像没什么实际意义。
图1.例3-8
2、返回指针的函数,例3-9如下图2所示,知识点:①函数的返回值可以是存储某种类型数据的内存地址(例如变量的地址、数组的首地址及指针变量的地址),称这种函数为指针函数;②程序函数定义中运用了动态分配内存,第一章p10页学过的,一开始没看明白。
图2.例3-9
3、返回对象的函数,例3-10如下图3所示,知识点:①这里的对象就看成变量还是很好理解的,程序就是用input函数将n个字符连起来作为一个对象返回给主程序的对象输出。
图3.例3-10
4、函数返回值作为函数的参数,例3-11如下图4所示,知识点:①如果用函数返回值作为另一个函数的参数,这个返回值必须与参数的类型一致;②例子就是比大小很简单,很容易理解,函数调用的参数再进行函数调用。
图4.例3-11
本节内容整体都还好理解,目前为止主要关于指针的一些基础概念还容易混淆不清,这部分的基础没有学扎实,还要加强学习。
加油!
坚持!