Функция связывания 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)