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



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

  

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

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

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

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

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




  

相关话题

  你遇到过哪些高质量的 C++ 面试? 
  为什么 Linux 指针越界时程序会立即被中断,而 Windows 不会? 
  都说己所不欲勿施于人,那我帮别人(亲戚/同学)装系统时要装Linux还是我不喜欢用的Windows? 
  把 string 当 enum 用,有性能损失吗? 
  C++原子变量数组能用memset置空吗? 
  求问“命令行的需求,命令行的本质,命令行究竟解决什么需求,命令行究竟又能带来什么好处”,到底是什么呢? 
  如何解决Linux下信号产生的死锁? 
  Linux 应该装个虚拟机还是买个二手电脑呢? 
  请问学 C 有必要死磕指针吗? 
  C 语言指针怎么理解? 

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





© 2024-11-08 - tinynew.org. All Rights Reserved.
© 2024-11-08 - tinynew.org. 保留所有权利