Функция связывания C++ std::bind

Если я связываю такую ​​функцию, используя заполнители во время привязки

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

Можно ли потом "перепривязать" его позже, чтобы заменить некоторые / все заполнители, но без вызова функции? Я хочу иметь возможность передавать некоторые параметры, а затем сохранять их, чтобы их можно было вызвать позже. (отложенный обратный звонок)

1 ответ

Решение

Вы можете bind снова:

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

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

g();   // (objectPointer->*memberFunctionPointer)(val1, val2)
Другие вопросы по тегам