【问题标题】:Comparison operator with std::function [duplicate]带有 std::function 的比较运算符 [重复]
【发布时间】:2013-04-02 04:25:23
【问题描述】:

如何比较两个std::function

== 似乎只与空指针比较: http://en.cppreference.com/w/cpp/utility/functional/function/operator_cmp

【问题讨论】:

标签: c++ c++11


【解决方案1】:

这是不可能的。 std::function 可以存储任何可复制和可调用的对象。这包括不可比较的对象。由于std::function 可以包含不可比较的对象,因此它无法提供适用于所有包含对象的任何比较操作。

如果您想要此功能,则必须实现自己的类型擦除 function 模板,该模板要求包含的对象具有可比性。

【讨论】:

    猜你喜欢
    • 2017-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-16
    • 2016-11-12
    • 2021-01-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多