【发布时间】:2016-07-22 22:55:21
【问题描述】:
我想使用 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 但这不是我想要的。 bind 能帮我完成这个吗?
【问题讨论】:
-
抱歉打错字了,我想叫rock
-
传递给
rock的std::string应该来自哪里? -
让它变得简单——假设没有字符串。我正在探索我的选择
-
为什么不使用 lambda 而不是绑定?
-
是的,这绝对是一个选择——你能把它作为答案吗