170 похожих чатов

А что, нельзя лямбду из лямбды вызывать, когда она через

auto объявлена? Синтетический пример:
const auto test = []() {
test();
}

8 ответов

23 просмотра

Можно, надо только capture сделать

Alexander Karaev
нельзя :)

Аа, он рекурсию что ли хочет Ну почему нельзя? Можно передать эту лямбду как параметр например

Kirill 🚜
Аа, он рекурсию что ли хочет Ну почему нельзя? Мо...

для этого придётся городить доп. конструкции

Alexander Karaev
нельзя :)

#include <iostream> int main() { const auto printer = [](auto... args) { const auto printElem = [](auto elem) { std::cout << elem << ", "; }; (printElem(args), ...); std::cout << '\n'; }; printer(1, 2, 3, "hello", 10.5f); } разве это не вызов лямбды из лямбды? (пример из блога Б.Филиппека)

Alex
Напрмиер?

ну, я пользуюсь таким трюком. пишем хелпер один раз: template <class F> struct y_combinator { F f; template <class... Args> decltype(auto) operator()(Args&&... args) { return f(std::ref(*this), std::forward<Args>(args)...); } template <class... Args> decltype(auto) operator()(Args&&... args) const { return f(std::ref(*this), std::forward<Args>(args)...); } }; template <class F> y_combinator(F) -> y_combinator<F>; и юзаем: auto fib = y_combinator{ [](auto self, int arg) { if (arg <= 1) return 1; return self(arg - 1) + self(arg - 2) } };

Сергей
#include <iostream> int main() { const auto p...

вызывать лямбду из лямбды можно. захватить лямбду в саму же себя нельзя

Похожие вопросы

Обсуждают сегодня

Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
28
лучше скажите, причём тут паскаль?
Alexey Kulakov
36
День добрый, подскажите пожалуйста, есть ли какой-то способ сказать ребару не компилировать определённое приложение? Всю доку их перечиатл ничего подобного не нашёл
Кирилл
14
Народ! Впервые клиенту пришло письмо от РКН, у вас, дескать, есть яндекс метрика, а нигде не написано, что вы ее юзаете. Никто не сталкивался?
Sasha Beep
10
Добрый вечер. Хочу чтобы у меня в классе поле было функцией, которая возвращает строку. Делаю так: interface ... TGetOutPath = function : String of object; ... protec...
Kirill Filippenok
12
Это может быть все-таки не флудвейт? у меня ботфазер принимает изменения и отображает даже что они изменились, на видео видно что он прислал якобы уже измененное описание, н...
OVERLINK
13
В clientsettings есть поле client_rates. В поле pagebuilder. Как получить то его?)
Andrey K
8
Здравствуйте, хочу сделать HelloWorld в консоли Дельфи, но функция API ничего не выводит, что я делаю не так? program Hello; {$APPTYPE CONSOLE} uses System.SysUtils, WinAPI.Wi...
Sergey Vinogradov
20
Вопрос на перед, на следующую пятницу. Сколько строк кода можно вешать на одного программиста, понятно что если проект хорошо написан то можно и миллион. Но есть же где то пре...
AlekseyK Kluchnikov
31
Немного оффтопа: а кто на чем сидит для осдева в плане ide/редактора? Последнее время сидел на vscode, но я его прям не могу нормально воспринимать, перешел на сlion, но меня...
Evg Resh
29
Карта сайта