我想把结果这个:
std::tr1::mem_fn(&ClassA::method);
Run Code Online (Sandbox Code Playgroud)
在变量内部,这个变量的类型是什么?
这看起来像这样:
MagicalType fun = std::tr1::mem_fn(&ClassA::method);
Run Code Online (Sandbox Code Playgroud)
另外,结果类型是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));
Run Code Online (Sandbox Code Playgroud)
您还可以将结果存储std::tr1::mem_fn在std::tr1::function:
std::tr1::function<void(ClassA&)> memfun_wrap(std::tr1::mem_fn(&ClassA::Func));
Run Code Online (Sandbox Code Playgroud)