这是我的问题。
我有一个 main(),它接受一个命令行选项,比如 foo,它是一个布尔值。然后main()调用一堆函数,main()调用fcn1(),fcn1()调用fcn2(),fcn2()调用fcn3(),fcn3()调用fcn4(),fcn4()调用fcn5(),然后在函数 fcn5() 中,我们到达使用选项 foo 的地方。
我可以看到将这个选项传递给 fcn5() 的两种选择。
首先,对于调用链中的每个函数,都有一个名为 foo 的函数参数,并通过这些参数传递 foo。这看起来有点乱。所有函数都需要有函数参数,但是对于fcn1 - fcn4,它们并没有真正使用。
另一种选择是有一个全局变量,在main()中,我设置了全局变量g_foo,然后在fcn5()中,它读取g_foo的值。但我不确定在这种情况下使用全局变量是否是个好主意。
我们有更好的解决方案吗?
谢谢!