为什么不应将SDL Window和SdL REnderer声明为全局?

时间:2014-05-24 08:04:39

标签: sdl sdl-2

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

背后的技术基础是什么?

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

思考更像是推荐而非强制性订单。如果它们是在本地声明的,那么您将更好地构建代码并更容易弄清楚这些代码的使用位置。如果你将它们声明为全局,你可以很快忘记代码的哪些部分正在使用它,并且它的一部分中的一些小变化可以破坏所有内容而不会给你任何线索。

除非极其必要,否则经验法则永远不会声明任何全局变量。

答案 2 :(得分:0)

技术上没有任何东西可以阻止使用全局变量,这更多的是品味和选择语言。

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

作者详细介绍了tutorial 7中有关全局对象和类的详细信息,这可能有助于更好地了解其设计过程。