gpt4 book ai didi

以字符串为参数的C++调用函数

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:45:04 26 4
gpt4 key购买 nike

假设我有几个函数,例如 function1()function2()、.....、function1000()我在一个函数中得到一个字符串让我们说 call_function(string function_name)
现在我需要执行基于 function_name 的函数。

我搜索了解决方案,发现我可以使用 map 。

有什么简单的方法可以为 1000 个 keys(string type) 和相应的函数创建映射?
例如:call_function(function541) 然后它应该执行 function541();

最佳答案

你可以使用 map 来为这些东西提供函数指针

void func1(const char *args)
{
//....
}

void func2(const char *args)
{
//....
}

typedef void (*function) (const char *args);

//......

std::map<std::string, function> func_map;

func_map.insert(std::pair<std::string, function>("func1", func1));
func_map.insert(std::pair<std::string, function>("func2", func2));

func_map["func1"]("arg1 arg2 arg3"); // Here is the func1 call

关于以字符串为参数的C++调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40437588/

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