我想在使用std :: function的另一个方法之后调用一个方法。假设我有这样的东西
class foo
{
std::function<void(int)> fptr;
void bar(int){
}
void rock(){
}
public:
foo() {
fptr = bind(&foo::bar,this,std::place_holder::_1); //<------Statement 1
}
}
现在因为语句1,如果我调用fptr(12)
,则调用方法栏。
我的问题是我可以指定或操纵语句1,以便在调用bar之后调用rock
。我知道我可以简单地bar
calle rock
但这不是我想要的。可以绑定帮我完成这个吗?
答案 0 :(得分:1)
std::bind
在这里不会有任何帮助,但是一个lambda会。
fptr = [this](int n) { bar(n); rock(); };