gpt4 book ai didi

c++ - 在 C/C++ 中自动调用函数

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:19:37 24 4
gpt4 key购买 nike

我的主程序读取配置文件,配置文件告诉它运行哪些函数。这些函数在一个单独的文件中,目前每当我创建一个新函数时,我都必须在主程序中添加函数调用(这样它就可以在配置文件指示时被调用)

我的问题是,有什么方法可以让主程序独立,当我添加一个新函数时,可以通过某种数组调用它。

例子(等等,我不太确定你能做到这一点)。

我有一个数组(或枚举),

char functions [3] = ["hello()","run()","find()"];

当我读取配置文件并显示运行 hello() 时,我可以使用数组运行它吗(我可以找到数组中是否存在测试)

我还可以轻松地向数组添加新函数。

注意:我知道它不能用数组来完成,所以只是一个例子

最佳答案

我觉得是这样的。

#include <functional>
#include <map>
#include <iostream>
#include <string>

void hello()
{
std::cout << "Hello" << std::endl;
}

void what()
{
std::cout << "What" << std::endl;
}

int main()
{
std::map<std::string, std::function<void()>> functions =
{
std::make_pair("hello", hello),
std::make_pair("what", what)
};
functions["hello"]();
}

http://liveworkspace.org/code/49685630531cd6284de6eed9b10e0870

关于c++ - 在 C/C++ 中自动调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11535124/

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