Существует множество примеров, касающихся использования заполнителей, однако я все еще немного смущен и был бы признателен, если бы кто-то мог объяснить разницу между двумя следующими утверждениямиРоль заполнителя в Boost :: bind в следующем примере
void SomeMethod(int a)
{
std::cout << "Parameter pass " << a << "\n";
}
Statement 1 : boost::bind(&SomeMethod,_1)(12);
Statement 2 : boost::bind(&SomeMethod,12)();
Я считаю, что я понимаю заявление 1, которое является цепью. Выходной сигнал boost::bind(&SomeMethod,_1)
получает параметр 12, прикрепленный к нему. Однако мне трудно понять, что происходит в заявлении 2. Если параметр можно передать напрямую с помощью boost :: bind (как в инструкции 2), то зачем нужна заполнитель?
Если вы хотите сразу же вызвать результат 'bind', вам не нужно« связывать »в первую очередь. Реальный прецедент - это вызов 'bind', теперь вызываем результат 300 функций и 5000 строк позже. –