在c/c ++中共享源文件之间变量的最佳策略是什么?

bac*_*eer 9 c c++ global-variables extern

我经常要用10多个源文件编写c/c ++程序,其中需要在所有文件的函数之间共享少量变量.我之前已经读过,通常很好的做法是避免使用全局变量extern.但是,如果完全有必要使用全局变量,则此链接提供了一个很好的策略.最近,我一直在研究将所有变量包装在结构或类中并将此结构传递给不同函数的策略.我想知道人们认为哪种方式更清洁,以及是否有更好的选择.

编辑:我意识到两种语言的策略可能不同.我对仅适用于一种语言或两者兼有的策略感兴趣.

Kir*_*kus 2

我对 C++ 的看法

无论如何,我发现C++namespace. 这样您就可以消除 10 多个源文件之间的任何歧义。

例如:

namespace ObjectGlobalVars {
   //Put all of your global variables here
   int myvariable = 0;
}

//And then later on you can reference them like
ObjectGlobalVars::myvariable++;
Run Code Online (Sandbox Code Playgroud)