我想把这个结果:
std::tr1::mem_fn(&ClassA::method);
在一个变量中,这个变量的类型是什么?
看起来像这样:
MagicalType fun = std::tr1::mem_fn(&ClassA::method);
此外,std::tr1::bind
的结果类型是什么?
谢谢!
最佳答案
未指定 std::tr1::mem_fn
和 std::tr1::bind
的返回类型。
您可以将 std::tr1::bind
的结果存储在 std::tr1::function
中:
struct ClassA {
void Func() { }
};
ClassA obj;
std::tr1::function<void()> bound_memfun(std::tr1::bind(&ClassA::Func, obj));
您还可以将 std::tr1::mem_fn
的结果存储在 std::tr1::function
中:
std::tr1::function<void(ClassA&)> memfun_wrap(std::tr1::mem_fn(&ClassA::Func));
关于c++ - std::tr1::mem_fn 返回类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3390385/