为何要有return返回值?

简介: 为何要有return返回值?

输出参数能做到的事情,为什么要用返回值呢,直接打印一下不就可以了吗?


接下来就说说有哪些是输出参数做不了的事情,然而返回值能做的,并且效率更高。


区别:调用者必须负责分配或者声明输出参数的存储,必须负责输出参数的有效性。如果这个参数本身是非法的,则往输出参数写数据会出现不可预期的后果。


而对返回值来说,调用者不需要预先分配返回值所占用的空间,这个空间必然存在,它是在生成返回值的时候自动创建的。


用买奶茶打比方的话,输出函数类似于你去买奶茶必须自带杯子不然什么都得不到,而返回值意味着卖家提供了已经打包好的奶茶。


换个角度,对于一个函数来说,只有返回值是必定有效的对外沟通渠道,而调用者传入的输出参数完全可能是非法的。

相关文章
|
2月前
|
Java
.equal()和==的区别 怎样判断字符串为空问题: Illegal invoke-super to void nio.file.AccessDeniedException
.equal()和==的区别 怎样判断字符串为空问题: Illegal invoke-super to void nio.file.AccessDeniedException
6 1
|
4月前
printf函数的返回值
printf函数的返回值
14 0
|
9月前
|
算法
三元运算符 return mData == null ? 0 : mData.size();的含义
三元运算符 return mData == null ? 0 : mData.size();的含义
37 0
|
10月前
|
JavaScript
return的作用
js中的函数只是实现某种功能,最终的结果需要返回给函数的调用者 函数名( ) 通过return实现的。 只要函数遇到return 就把后面的结果,返回给函数的调用者。 函数名 ( ) = return 后面的结果。
|
Java Apache Spring
isEmpty函数的调用
StringUtils中isEmpty函数的使用
110 0
isEmpty函数的调用
|
C++ Python
C++函数如何返回两个或以上的返回值?
本文介绍C++语言中,一个函数返回两个及以上、同类型或不同类型的返回值的方法~
310 1
C++函数如何返回两个或以上的返回值?
printf 函数的返回值问题
printf 函数的返回值问题
72 0
printf 函数的返回值问题
|
C++
一个函数两个return
一个函数两个return
147 0
C++中string类 size() length()函数的返回值问题
C++中string类 size() length()函数的返回值问题
131 0
C++中string类 size() length()函数的返回值问题
|
JavaScript 数据安全/隐私保护 前端开发
js中return,return true,return false三者的用法及区别
return其实就是return undefined; 1.语法及返回方式 ①返回控制与函数结果         语法为:return 表达式;         语句结果函数的执行,返回调用函数,而且把表达式的值作为函数结果返回出去 ②返回控制无函数结果         语法为:return;         在大多数情况下,为事件处理函数如果让其返回false,可以防止默认的事件行为.
1549 0