为什么要避免在C / C ++中使用全局变量?

我们应该避免使用任何语言的全局变量,而不仅仅是C ++。这是因为这些变量污染了全局命名空间,在大型项目中可能会导致一些非常讨厌的错误,因为可以从任何文件访问它们,从而可以在任何地方对其进行修改。这些是为什么全局变量被认为是错误的一些原因-

  • 全局变量可以由代码的任何部分更改,从而难以记住或推理每种可能的用法。

  • 全局变量不能具有访问控制。它不能仅限于程序的某些部分。

  • 使用全局变量会导致代码的紧密耦合。

  • 使用全局变量会导致命名空间污染。这可能导致不必要地重新分配全局值。

  • 使用全局变量在程序中进行测试可能会非常痛苦,因为在测试时很难将它们解耦。

请注意,有时您只需要使用全局变量即可。但在这样做之前,请确保是否有其他选择。