我有一个相对较大的学术模拟软件(50个类(class))。用户选择一个包含20多个项目的配置文件。这些常量变量将在整个仿真平台上使用(几乎在每个类中都使用)。仿真每秒每秒运行数十万个代理对象,因此性能非常重要。
目前,我使用单例设置类。我使用实例来获取在程序启动时已从文件读取到类中的值(我不想在每个其他类中添加对settings类的引用)。
1-我最近运行了一个探查器,发现对getInstance()。getSomeSetting()的过多调用使性能下降。
2-每次谈论单例使用时,都会收到很多谴责。
在这种情况下访问设置的最佳实践是什么?我应该为这20多个配置项使用全局变量吗?
最佳答案
您可以将配置对象保留在shared_ptr中,并将其传递到所需的任何位置,这样您将拥有一个设置对象