全局变量的命名空间

用户名

我有希望所有应用程序访问的变量。这是不好的做法吗?如果是这样,为什么?

namespace Global
{
    SDL_Window* window;
    SDL_Renderer* renderer;
    UI* new_view;
}

另一个建议:

如何将指向全局变量的指针传递给构造函数中的类并将其保持为局部变量?

class A
{
    SDL_Renderer* m_renderer;

    A(SDL_Renderer* renderer);
} 

A::A(SDL_Renderer* renderer)
{
    m_renderer = renderer;
}
一切都在流动

这是不好的做法吗?

是的,无论是否将全局变量放在单独的命名空间中,使用全局变量都是不好的做法。

如果是这样,为什么?

它在系统的模块之间引入了不必要的依赖性。使数据和行为本地化到负责做特定事情的类。
在极少数情况下,单例有意义,但是不应将它们视为简单的全局变量,而应具有静态成员(或自由)函数来访问它们。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章