Итак, вчера я прочитал этот вопрос здесь о SO и наткнулся на лучший проголосовавший ответ, который использовал такой код, чтобы вызвать лямбда рекурсивно
std::function<void(int)>
f {[&f](int i){
// do something
}},
dummy((f(3), nullptr));
Я задавался вопросом, что такое часть dummy(...)
, поэтому я провел некоторое исследование, но ничего не смог найти. В фрагменте кода, указанном в ответе, был заголовок <utility>
, поэтому я предполагаю, что вещь должна быть объявлена где-то там, но я все еще ничего не мог найти об этом.
Может ли кто-нибудь объяснить, что делает эта функция dummy
(или функтор), где она объявлена и для чего она обычно используется?
Я имею в виду, очевидно, что в примере он используется для вызова функции f. Но какова его фактическая цель?
ПРИМЕЧАНИЕ. Я знаю, что этот вопрос немного широк, но поскольку я не мог найти никакой информации об этом, я не мог сосредоточить этот вопрос на одной конкретной проблеме. Также я надеюсь, что ответ на мои вопросы поможет другим найти информацию о таинственном dummy()
.