在一些空闲时间,我正在研究一些物理模拟代码,所以我a)有一个框架可以在未来建立起来,并且b)使用C++保持新鲜。我有几个值(光速,盒子大小,粒子数量,类似的东西),几乎所有的程序都需要,但我真的希望给用户在输入中指定这些值的能力。 cfg文件(所以像#DEFINE
+ a constants.h
文件将不起作用)。我当然可以读取这些值,但传统/最好的方法是让它们跨越多个不同的模块?如何组织输入全局变量?
0
A
回答
1
而不是一堆其他无关的全局变量,为什么不使struct
或class
包含这些变量,并且具有检索或更新配置当前状态的函数?
例如,作为struct
,您可以实现序列化方法来读取或写入.cfg
类型的文件。
这也可以实现一个静态方法来返回活动配置,所以全局的方法引用实现中的局部变量。
2
怎么样单:
class Universe {
private:
Universe();
public:
static Universe& GetInstance();
void Reload();
double GetSpeedOfLight() const { return m_C; }
...
private:
double m_C; //!< Speed of light
};
Universe& Universe::GetInstance() {
static Universe instance;
return instance;
}
Universe::Universe() {
Reload();
}
void Universe::Reload() {
// load your constants
}
相关问题
- 1. Angular.js与全局变量的组织
- 2. Ember全局变量的输入大小
- 3. 流星导入全局变量如何?
- 4. 输出全局变量
- 5. 如何使输入editText的值为全局变量/字符串?
- 6. 组变量全局范围
- 7. lotusscript中的全局变量如何全局变量IBM Notes 9
- 8. java全局全局变量和用户全局变量
- 9. 全局变量
- 10. 全局变量。
- 11. 全局变量
- 12. 全局变量
- 13. 全局变量
- 14. 全局变量
- 15. 全局变量
- 16. 全局变量
- 17. 全局变量
- 18. 全局变量
- 19. 全局变量
- 20. 全局变量
- 21. 全局变量
- 22. 全局变量
- 23. 全局变量
- 24. 全局变量
- 25. 全局变量?
- 26. 全局变量
- 27. C#组织变量?
- 28. 如何计算全局范围内全局变量的数量?
- 29. Android:如何组织布局
- 30. 如何组织kivy布局?
嗯,是的,当然!这效果更好。我从来没有真正有理由在C++中使用外部对象; *一个*包含当前宇宙一切的物体非常适合该法案! –