为什么SDL窗口和SDL渲染器不应该被声明为全局的



我是SDL编程新手。在一个教程中,http://twinklebeardev.blogspot.in/2012/07/lesson-2-dont-put-everything-in-main.html提到SDL窗口和SDL渲染器不应该被声明为全局?

它背后的技术基础是什么

就c标准和sdl库而言,没有理由不使用sdl Window和sdl Renderer作为全局变量

我认为这是一种建议,而不是强制命令。如果在本地声明它们,您将更好地构建代码,并且更容易找出它们的使用位置。如果你把它们声明为全局的,你很快就会忘记代码的哪一部分使用了它,而且其中的一个小变化可能会在没有给你任何线索的情况下破坏一切。

经验法则是永远不要声明任何全局变量,除非非常必要。

在技术上没有什么可以阻止全局变量的使用,这更多的是一个品味和语言选择的问题。

本教程的作者是从c++语言中使用SDL的观点出发的。在c++中,非常强调面向对象的代码结构,包括封装和抽象(即隐藏在类结构后面的实现细节)。

作者在第7教程中详细介绍了全局对象和类,这可能有助于更好地理解它们的设计过程。

相关内容

最新更新