C++ std::bind 重新绑定(bind)函数

标签 c++ c++11 bind

如果我像这样绑定(bind)一个函数,在绑定(bind)时使用占位符

std::bind(memberFunctionPointer, objectPointer, _1, _2);

然后是否可以稍后“重新绑定(bind)”它以替换一些/所有占位符,但不调用该函数?我希望能够传入一些参数然后存储它,以便稍后调用。 (延迟回调)

最佳答案

您可以再次绑定(bind):

auto f = std::bind(memberFunctionPointer, objectPointer, _1, _2);

auto g = std::bind(f, val1, val2);

g();   // (objectPointer->*memberFunctionPointer)(val1, val2)

关于C++ std::bind 重新绑定(bind)函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27160785/

相关文章:

c++ - 尝试使用 magick++ 在 c++ 中删除背景并使其透明

c++ - 按值、引用和右值传递字符串

python - 如何将回车键绑定(bind)到 tkinter 按钮

c++ - 带参数的类的 pthread 成员函数

javascript - 将值绑定(bind)到javascript中的函数

c++ - 如何从字符串 vector c++ 而不是新 vector 中过滤

c++ - 在 C++ 中,编写在 main() 之前执行的代码是一种好的形式吗?

c++ - 数组大小不是静态的?

c++ - 为什么我会收到 Wsign-conversion 警告?

c++ - try and catch in C++ - 创建了多少个对象