std::function
的目的是什么?据我所知,std::function
将函数、函数对象或lambda表达式转换为函数对象。
我不太明白这个的目的...Lambda表达式和函数对象已经是函数对象了,我相信它们可以用作算法(如sort和transform)的谓词。顺便说一句,Lambda实际上是函数对象(内部)。因此,我只能看到std::function
有用之处是将常规函数转换为函数对象。
而且我不太明白为什么要将常规函数转换为函数对象。如果我想使用函数对象,我会首先创建一个作为函数对象或lambda的函数...而不是编写一个函数,然后使用std :: function将其转换并将其作为谓词传递...
我猜std::function
还有更多含义...在第一眼看起来不太明显。
我希望能够解释一下std::function
。