为什么我们应该避免在 C/C++ 中使用全局变量?


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

  • 全局变量可以被代码的任何部分更改,因此很难记住或推论出每个可能的用法。

  • 全局变量可能没有任何访问控制。它不能局限于程序的某些部分。

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

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

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

请注意,有时你只需要使用全局变量。但在这么做之前,请确保你是否还有其他选择。在 c2 wiki 中详细了解全局变量 - http://wiki.c2.com/?GlobalVariablesAreBad

更新于:2020 年 6 月 24 日

4K+ 阅读次数

开启您的 职业生涯

完成课程获得认证

开始使用
广告
© . All rights reserved.