gpt4 book ai didi

c++ - C++ 中的函数组合

转载 作者:可可西里 更新时间:2023-11-01 16:29:28 25 4
gpt4 key购买 nike

有许多令人印象深刻的 Boost 库,例如 Boost.Lambda 或 Boost.Phoenix,它们在使 C++ 成为真正的函数式语言方面大有帮助。但是有没有一种直接的方法可以从任意 2 个或更多任意函数或仿函数创建复合函数?

如果我有:int f(int x)int g(int x),我想做类似 f 的事情。 g 将静态生成一个新的函数对象,等同于 f(g(x)).

这似乎可以通过各种技术实现,例如讨论的那些 here .当然,您可以将调用链接到 boost::lambda::bind 以创建复合仿函数。但是在 Boost 中有什么东西可以让您轻松地使用任何 2 个或更多函数或函数对象并将它们组合起来创建一个复合仿函数,类似于您在 Haskell 等语言中的做法吗?

最佳答案

对于偶然发现此页面的任何人,bureau14 上有一篇关于此主题的精彩博文:

http://blog.quasardb.net/function-composition-in-c11/

这利用了 C++ 11 中的新功能以及使用 boost。

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

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