gpt4 book ai didi

c++ - 全局变量的命名空间

转载 作者:行者123 更新时间:2023-11-30 04:03:06 26 4
gpt4 key购买 nike

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

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;
}

最佳答案

Is this bad practice?

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

If so, why?

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

关于c++ - 全局变量的命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24695788/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com