比较指向类成员函数的C ++ std :: function对象

时间:2014-04-25 08:55:21

标签: c++

考虑下面的std::function实例,其中一些(不是全部)实例封装了某个类的成员函数。我想比较这些实例并识别所有实例,它们指向同一个函数以及相同的实例:

#include <functional>

typedef std::function<void(int)> myfun;

class Foo{
public:
    void foo(int i){/*...*/}
    myfun getFun(){
        return std::bind(&Foo::foo, *this,std::placeholders::_1);
    }
};

void test(){
    Foo f1, f2;
    myfun p1 = f1.getFun(), p2 = f2.getFun(), p3 = f2.getFun(), p4 = [](int i){};
    //how do I compare p1 - p4, so that p1 != p2,p3,p4, p2 == p3, p4 != p3,p2,p1
}

你知道这是否可能(以及如何)?

0 个答案:

没有答案