c++ - 如何为泛型函数定义 std::function?

标签 c++ templates functional-programming

如何为泛型函数或模板函数定义 std::function?例如,我们可以做

std::function<bool(int a)> f = [](int a){return a < 0;};

如何将它概括为类似下面的其他参数类型

std::function<bool(auto a)> f = [](auto a){return a < 0;};

最佳答案

你不知道。这样的构造需要类似于整个 C++ 编译器的东西被 std::function 类型删除,这对于大多数应用程序来说似乎有点过分了。

很可能您的问题实际上并不需要那么强大的东西。

如果您有一组固定的参数类型,则有很多解决方案。对于每种类型?不。

关于c++ - 如何为泛型函数定义 std::function?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24234428/

相关文章:

c++ - 根据构造函数参数推导模板类型

c++ - 针对 C++ 类型测试 opencv mat 数据类型的最佳方法是什么?

javascript - 问题使用 Mustache 模板渲染 Backbone 集合

R:如何向函数添加参数(特别是 `...` )?

类似 C++ LINQ 的迭代器操作

c++ - std::forward 模板和非模板函数中的测试

c++ - Boost asio udp套接字发送到不同的IP地址

c++ - 未解析的外部符号 x - 使用来自一个 Visual Studio 项目的 boost 测试测试同一解决方案中另一个项目的代码

c++ - 对位移位行为的质疑

ios - Swift 3 中的闭包速记语法