gpt4 book ai didi

c++ - 配置文件的实现

转载 作者:行者123 更新时间:2023-11-28 00:07:44 27 4
gpt4 key购买 nike

我正在用 C++ 开发一个应用程序,它需要一个在启动时读取和解释的配置文件。它将包含以下内容:

Module1=true

现在,我最初的计划是将其全部存储在变量中并简单地拥有

If(module1) {
DO_STUFF();
}

然而,这似乎很浪费,因为它会不断检查一个永远不会改变的值。有什么想法吗?

最佳答案

优化代码,仅当您发现性能分析器的瓶颈时。 分支预测 应该在这里做它的事情,module1 永远不会改变,所以如果你在循环中调用它,甚至,应该 会造成明显的性能损失。

如果你想试验一下,你可以分支一次,让一个指针指向正确的函数:

using func_ptr = void (*)();
func_ptr p = [](){};

if(module1)
p = DO_STUFF;

while(...)
p();

但这只是要分析的东西,看看程序集...

还有一些较慢但舒适的方式来存储配置,例如在具有枚举索引的数组或映射中。如果我要在循环中获得一些值(value),我会这样做:

auto module1 = modules[MODULE1];        // array and enumeration
//auto module1 = modules.at("module1"); // map and string

while(...)
{
if(module1)
DO_STUFF;

...
}

所以我会得到你已经拥有的东西。

关于c++ - 配置文件的实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34555521/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com