Size: a a a

2021 July 09

Е

Евгений in dlang.ru
Это и есть кишки, в которых надо разбираться. Я вспомнил как оно в плюсах.
источник

Е

Евгений in dlang.ru
Вариант @darkhole1  не является аналогом. Прямого аналога в D нет, можно только сэмулировать:
https://godbolt.org/z/EbhMfW3hj
источник

Е

Евгений in dlang.ru
Но я бы не сказал, что это какой-то недостаток.
источник

Е

Евгений in dlang.ru
С одной стороны у плюсовых лямбд есть свои плюсы (сорян за каламбур), но есть и минусы.
Плюсовая ламбда имеет неведомый тип, и функции принимающие лямбды вынуждены быть шаблонами.
Либо нужно пихать лямбду в std::function а это уже чревато аллокациями.
источник

EP

Egor Pugin in dlang.ru
ну нам и надо шаблоны
источник

Е

Евгений in dlang.ru
Шаблоны могут вредить. Например они не могут быть виртуальными. На них нельзя получить указатель, если типы параметров неизвестны, а они неизвестны, и так далее.
источник

EP

Egor Pugin in dlang.ru
так мы и пишем общие алгоритмы, обобщённый код. В обычные функции, виртуальные, не влезет, само собой, и ничего
источник

EP

Egor Pugin in dlang.ru
вот у меня где-то есть сериализация джсона рекурсивная
источник

Е

Евгений in dlang.ru
Дешные лямбды отлично лезут как с шаблонами, так и без.
источник

EP

Egor Pugin in dlang.ru
как раз о примере выше
источник

DH

Dark Hole in dlang.ru
Кстати о шаблонах
источник

DH

Dark Hole in dlang.ru
Наскока в С++ можно сэмулировать дэшный map?
источник

EP

Egor Pugin in dlang.ru
пример также надо
источник

Е

Евгений in dlang.ru
Да зачем далеко ходить? В плюсовой шаблон ничего кроме целочисленных типов не засунешь, на этом можно сразу остановиться.
источник

Е

Евгений in dlang.ru
Ну так можно же легко сэмулировать. Плюсовая лямбда - фактически сахар к этой эмуляции.
источник

EP

Egor Pugin in dlang.ru
если поместится в одной функции, не сильно многословно, то всё ок
источник

Е

Евгений in dlang.ru
Да банально же, у твоей лямбды даже замыканий нет. Можно тупо в структуру пустую обернуть и готово.
источник

EP

Egor Pugin in dlang.ru
ну это в этом примере, переменные можно захватить
источник

EP

Egor Pugin in dlang.ru
вот ниже десериализация с захватом)
источник

Е

Евгений in dlang.ru
Твой пример вообще странный, накой там лямбда сдалась вообще?
источник