请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于结构体定义方法定义 Retriever 和 *Retriever

图片描述
看本节视频无意间发现 IDE有 Retriever 和 *Retriever, 请问老师两者区别在哪里,有哪些使用注意事项?

正在回答

1回答

区别和一般的函数参数是不是指针一样。如果不用指针,这里的Retriever只是一份拷贝。

一是如果这个方法改变了Retrieveer里面字段的值,就一定要用指针。否则只是改变了Retriever的拷贝的值。

还有是如果Retriever比较大,使用指针效率会高些,因为可以不用拷贝。

而且所有的方法我们建议要么都用指针要么都不用指针。

实际使用的时候,一般我们无脑的使用指针总没错,除非特殊情况,我们定义了一些复合“值”类型,比如Point(有x,y两个字段)

0 回复 有任何疑惑可以回复我~
  • 提问者 qq_聪明的剑圣_0 #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2020-11-16 17:35:44
  • 那就是实际项目开发中,都是推荐将方法写入结构的指针中,这样效率较高,也统一?但是我看老师的这个例子 就没有写入指针  而是直接入入结构啊 ?
    回复 有任何疑惑可以回复我~ 2021-06-20 18:14:27
  • 地道的来说,如果只读的,“小”的结构体,不推荐使用指针。无脑使用指针只是属于“无错”的做法。
    回复 有任何疑惑可以回复我~ 2021-06-27 11:40:37
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信