千锋教育-做有情怀、有良心、有品质的职业教育机构

400-811-9990
手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

上海
  • 北京
  • 郑州
  • 武汉
  • 成都
  • 西安
  • 沈阳
  • 广州
  • 南京
  • 深圳
  • 大连
  • 青岛
  • 杭州
  • 重庆
当前位置:南京千锋IT培训  >  技术干货  >  函数直接返回和传递引用的区别和取舍?

函数直接返回和传递引用的区别和取舍?

来源:千锋教育
发布人:xqq
时间: 2023-10-15 19:39:58

一、函数直接返回和传递引用的区别和取舍

可以使用全局的错误代码,这样就可以返回函数结果。

可以使用函数返回值作为结果代码,函数的传出参数可以做成引用型参数。

也可以把结果和错误码绑在一起,一同返回。

返回值的方式返回一般是:

1,返回值是内置类型(int, float)

2,不需要考虑返回对象拷贝开销(编译器有返回值优化)

3,函数执行出错可以通过构造一个错误的对象或者值返回表示错误

4,函数只返回一个值

// 想到再补充…

经常函数会写成这样:

BOOL XXX(const YYObject& param, ZZObject* result);

返回BOOL指示函数是否正常返回,输入参数写成常量引用放在前面,输出参数使用指针放在后面。

延伸阅读:

二、java中HashMap的keySet()和values()

我们通常说,keySet()返回所有的键,values()返回所有的值,其实是不太对的,因为无论是keySet()和values(),其实都没有实质的内容,且容我慢慢说来。

他们前者返回了一个Set,后者返回了一个Collection,但是Set和Collection都只是接口,既然是接口,那就大有文章可以做。很重要的一点就是,接口可以不是new someClass()的来的,也就是说,它可以不对应与一个类,而只提供一些方法。实际上,HashMap中所有的数据都是放在一个Node[]的数组中的,而返回的Set接口也好,Collection也罢,都是直接针对这个Node[]数组的,所以,当使用返回的Set接口或者Collection接口进行操作是,实际上操作的还是那个Node[]数组。但是,返回的Collection只能做有限的操作,限定哪些呢?一句话总结就是:只能读,不能写,但能删能清。

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。

猜你喜欢LIKE

Go语言的结构体中怎么设置null值?

2023-10-15

Java 中的双亲委派的“双”怎么理解?

2023-10-15

ejb和spring的区别?

2023-10-15

最新文章NEW

Java纯粹的面向对象到底是什么意思?

2023-10-15

编译器怎么处理定义但未使用的函数?

2023-10-15

C语言的structure和类有什么区别?

2023-10-15

相关推荐HOT

更多>>

快速通道 更多>>

最新开班信息 更多>>

网友热搜 更多>>