gpt4 book ai didi

c++ - 测试每个订单中的每个功能组合

转载 作者:太空狗 更新时间:2023-10-29 21:34:59 24 4
gpt4 key购买 nike

我有一堆函数,a.process, b.process, c.process...,我们称它们为 a, b, c... 都以 std::string 作为参数并返回一个 std::string.

给定初始 std::string s,我想生成 ab 组合的所有可能输出c... 以任何顺序调用并给定 s 作为初始输入。

例如,我想计算a(s), b(s), c(s), a(b(s)), a(c(s)), b(a(s)), b(c(s )), c(a(s)), c(b(s)), a(b(c(s)))

我想我可以做一个函数来生成列表的每个排列,类似于 Python 的 itertools.permutations 但我这里有两个主要问题:

  • 我不只是想要每一个排列,我想要每一个顺序的每一个排列。

  • 更重要的是,我不知道如何像在 Python 中那样轻松地将函数存储在数组中。

我还需要每个可能的输出都带有生成它的函数组合,因此对于我上面给出的示例,我知道输出的顺序如下:"a", "b", "c", "ab", "ac", "ba"“bc”“ca”“cb”“abc”等。

我如何在 C++ 中实现它?

最佳答案

要在数组中存储函数,您需要使用 function pointers .像这样的事情会做:

typedef string (*t_fnPtr)(string);
t_fnPtr fnPtrArray[10]; //Initialize this with your functions

然后只需生成数组的所有组合并将其应用于字符串即可。看this question .

关于c++ - 测试每个订单中的每个功能组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44479302/

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