我一直听说全局变量应该never被使用,但我倾向于忽略”never”规则头脑发热。真的没有例外吗?
例如,我目前正在使用 SDL 用 C++ 编写一个小游戏。在我看来,拥有一个带有指向屏幕缓冲区的指针的全局变量很有意义,因为代表游戏中不同类型事物的所有不同类都需要 blit 到它,并且只有一个屏幕缓冲区。
请告诉我是否有例外,否则:
-
Why not,或者它们有什么不好以至于应该避免使用不惜一切代价(请稍微解释一下)
-
如何才能实现这一目标,最好不必将其传递给每个构造函数以在需要时内部存储,或者传递给每次调用 Paint() 请求。
(我假设这个问题之前已经被问过,但是在搜索时找不到我需要的东西(解释和解决方法)。如果有人可以发布前一个问题的链接,那就太好了)
我们告诉学生永远不要使用全局变量,因为它鼓励更好的编程方法。这与我们告诉他们不要使用 goto 语句的原因相同。一旦您成为一名出色的程序员,您就可以打破规则,因为您应该知道何时合适。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)