如何比较两个std::function
?
==
似乎只与空指针进行比较:
http://en.cppreference.com/w/cpp/utility/functional/function/operator_cmp
答案 0 :(得分:1)
这是不可能的。 std::function
可以存储任何可复制和可调用的对象。这包括无法比较的对象。由于std::function
可以包含不可比较的对象,因此它无法提供适用于所有包含对象的任何比较操作。
如果您需要此功能,则必须实现自己的类型删除function
模板,该模板要求包含的对象具有可比性。