【发布时间】:2013-01-26 00:31:19
【问题描述】:
我有一个带有多个参数的成员函数。我想将它绑定到特定的对象实例并将其传递给另一个函数。我可以用占位符做到这一点:
// actualInstance is a MyClass*
auto callback = bind(&MyClass::myFunction, actualInstance, _1, _2, _3);
但这有点笨拙 - 一方面,当参数数量发生变化时,我也必须更改所有绑定调用。但此外,键入所有占位符非常乏味,而我真正想要的只是方便地创建一个包含对象引用的“函数指针”。
所以我想做的是:
auto callback = objectBind(&MyClass::myFunction, actualInstance);
有谁知道这样做的好方法吗?
【问题讨论】:
-
有人建议允许
bind(&MyClass::myFunction, actualInstance, std::placeholders::all)之类的东西这样做 -
好的 - 你知道为什么它没有包含在标准中吗?
-
因为是上个月才提出的,所以还没人实施,更别提为标准提出了