在C ++中实现全局应用程序设置

时间:2013-03-25 05:43:38

标签: c++ configuration singleton global-variables application-settings

我有一个相对较大的学术模拟软件(50个班级)。用户选择包含超过20个项目的配置文件。这些常量变量遍布模拟平台(几乎在每个类中)。模拟每秒运行数十万个代理对象,因此性能非常重要。

目前我使用的是单例设置类。我使用实例将程序启动时从文件中读取的值放到类中(我不想在其他每个classe中添加对settings类的引用)。

1-我最近运行了一个分析器,发现对getInstance()。getSomeSetting()的过度调用正在提升性能。

2-每当我谈到单身人士的使用时,我都受到了很多谴责。

在这种情况下访问设置的最佳做法是什么?我应该为这20多个配置项使用全局变量吗?

1 个答案:

答案 0 :(得分:0)

您可以将配置对象保存在shared_ptr中并将其传递到任何您想要的位置,这样您将拥有一个设置对象