为什么我们在 C/C++ 中应该避免使用全局变量?
我们应当避免在任何语言中使用全局变量,而不仅仅是 C++。这是因为这些变量会污染全局命名空间,并且可能会在大型项目中造成一些非常讨厌的错误,因为可以从任何文件中获取它们,因此可以从任何地方修改它们。以下是一些认为全局变量不好的原因 -
全局变量可以被代码的任何部分更改,这使得记住或理解每种可能的用途变得困难。
全局变量可能无法访问控制。它不能限制在程序的某些部分。
使用全局变量会导致代码的紧密耦合。
使用全局变量会导致命名空间污染。这可能会导致不必要地重新分配全局值。
在使用全局变量的程序中进行测试可能非常麻烦,因为在测试时很难对它们进行解耦。
请注意,有时你只需要使用全局变量。但在这样做之前,请确保你是否有任何替代品。请详细了解 c2 wiki 中的全局变量 - http://wiki.c2.com/?GlobalVariablesAreBad
广告