百科问答小站 logo
百科问答小站 font logo



C语言编写时,将参数传递跨越多个函数的方式是否是妥当的? 第1页

  

user avatar   haozhi-yang-41 网友的相关建议: 
      

如果只有一两个,传递链条也就那么两三层的话,那么传就传吧,也不是什么特别大的问题。

但如果参数个数数量多了,一般会打包成一个context。

如果传递链太长,而且中间步骤全都不需要这个参数,只在头尾的话,可以考虑做一个管理模块,一开头放进去,然后等到实际用的地方再拿出来。这样,只需要一个id之类的标记就可以了。

但总体上,这种长距离在多个函数上透传参数,在很大概率上是由于程序结构的设计失误造成的。应该自己考虑这种操作模式和代码设计模式是否正确,这种耦合是否合理。例如说考虑下一些代码封装技巧,由函数层层嵌套的调用,变为扁平的链式调用等等。




  

相关话题

  如何评价 10 月 24 日腾讯新发布的 QQ for Linux? 
  在未来的五年到十年内,Linux将会替代Windows成为主流操作系统吗? 
  大公司为什么无法轻松使用更新的c++版本? 
  为什么大多数人用C++时都要用&&,||和!来表示与或非,而不是用and or not? 
  长期使用Arch,Gentoo等滚动更新的发行版是怎样的一种体验? 
  如何看待华为称其对 Linux 贡献全球第一,Linux 内核审核员呼吁华为公司不要刷 KPI ? 
  为什么 Unix 一切皆文件的设计这么成功,而 C++ 统一的流式 IO 则不甚成功? 
  为什么 Unix 一切皆文件的设计这么成功,而 C++ 统一的流式 IO 则不甚成功? 
  C语言中, for 和 while 在汇编上有什么区别? 
  既然有 memcpy_s 这种安全实现,为啥不禁用危险的 memcpy 或者更新 memcpy 源码? 

前一个讨论
如何看待敖厂长的视频《【敖厂长】史上最垃圾游戏判明!》?
下一个讨论
连续四个正奇数有可能都是素数吗?





© 2025-05-15 - tinynew.org. All Rights Reserved.
© 2025-05-15 - tinynew.org. 保留所有权利