Closed. This question needs details or clarity 。它目前不接受答案。












想改善这个问题吗?添加细节并通过 editing this post 澄清问题。

4年前关闭。



Improve this question




当我们已经有了 std::invoke 时,为什么还需要 std::function ?它们之间有什么区别?两者都用于调用可调用对象。添加新模板有什么意义?

最佳答案

std::invoke 是激活任何可调用对象的通用方法 - std::function ,指向函数的指针,指向成员函数的指针,函数对象等。无需知道您正在处理哪个(并且不必使用不同的语法)。它在泛型编程(模板)中最有用。

另一方面,标准函数是可调用“事物”的通用容器。一点都不一样。。

10-08 08:28
查看更多