Closed. This question needs details or clarity 。它目前不接受答案。
想改善这个问题吗?添加细节并通过 editing this post 澄清问题。
4年前关闭。
Improve this question
当我们已经有了
想改善这个问题吗?添加细节并通过 editing this post 澄清问题。
4年前关闭。
Improve this question
当我们已经有了
std::invoke
时,为什么还需要 std::function
?它们之间有什么区别?两者都用于调用可调用对象。添加新模板有什么意义? 最佳答案
std::invoke
是激活任何可调用对象的通用方法 - std::function
,指向函数的指针,指向成员函数的指针,函数对象等。无需知道您正在处理哪个(并且不必使用不同的语法)。它在泛型编程(模板)中最有用。
另一方面,标准函数是可调用“事物”的通用容器。一点都不一样。。