全局变量/常量的替代

Car*_*901 3 c++

我一直在读,使用全局变量是糟糕的编程设计,但这是否意味着全局常量也很糟糕?

有什么替代方法而不是全局变量/常量,什么是声明多个源文件中所需常量的最佳方法?

Meh*_*ari 11

全局变量不好的主要原因是依赖共享状态,这使得程序的不同部分很容易通过以您不想要的方式操纵共享状态而导致对程序其他部分的意外干扰,从而使程序更容易出错,难以调试,难以维护.

另一方面,常量非常好,除了它们污染全局命名空间(这可能会在编译时通过更改编译单元中符号的含义而导致意外后果).如果你可以在特定的命名空间/范围内声明它们,那么你会没事的.