我有一个大型 C++ 程序,其中包含太多函数和全局变量。现在,我想删除那些全局变量,我只想使用局部变量而不是全局变量。任何人都可以建议我最好的方法来做到这一点。 谢谢!
它大约有 4000 行 C++ 程序。这些不同的类中有 10 个类和 60 个函数,30 个全局变量。全局变量在不同类的函数之间使用。
最佳答案
我通常首先将全局变量放在命名空间中
namespace global
{
int var;
...
}
这将导致您在使用“var”的任何地方都出错,然后我将一个一个地替换对命名空间变体的引用。一旦所有全局变量引用都在命名空间中,就更容易看出哪些变量是局部变量,哪些变量是全局变量
if ( global::var == 1 ) ...
现在通过搜索 global::var
你会得到一个使用它的变量列表,然后你需要逐个检查使用案例,看看一个变量是否在多个模块中使用,或者不是,在那些情况下您可能需要将它作为函数参数传递,在其他情况下声明它是一个局部变量。
这是一种麻烦的方法,但消除全局变量总是值得的。
关于c++ - 在C++程序中删除全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11606532/