b) => a + b;
[](auto a, auto b) a + b;
[] (auto x) { x * x };
[] ( auto a, auto b ) -> int a + b;
[] ( auto a, auto b ) -> int{ a + b };
vs
[] ( auto a, auto b ) { return a + b; }
эта идея будет жить в наших сердцах
типа если нет точки с запятой, то подразумевается return?
Какая идея, такой и результат. Синтаксический сахар в копилку и так непростого синтаксиса непонятно ради чего. Коту явно нечего делать
человек хочет экономить символы
не экономить символы, а сократить визуальный синтаксический шум, мешающий выцепить глазами реально значимые части исходного кода
Дядя видимо ещё сидит на C++ 98 :) * Краткость: "Fat Arrow Syntax" уменьшает объем шаблонного кода, делая код более сжатым. * Читаемость: Устраняя дополнительный синтаксис (такой как фигурные скобки и ключевое слово return), код становится более читаемым, особенно для разработчиков, знакомых с подобным синтаксисом в других языках.
я за, но без создания ambiguity которое хз как парсить
"разработчиков, знакомых с синтаксисом" — вот про этот момент часто забывают в обсуждении читаемости кода
Код становится менее читаемым для тех, кто знаком с синтаксисом C++ 👿
А зачем делать проще жизнь тем, кто знаком с С++ но плохо знаком с другими языками?
еще [](a, b) a + b
алсо просто не писать ретурн это брейкинг чейнж лол
тоесть это не примется никогда
foo([&](x) x => x, y) А еще вот такую загадку автору загадаю. Что сверху написано.
так подожди я про без =>, он про с не миксуй их они не совместимы
Почему? Если последнее выражение делать без точки с запятой, то вроде ничего не сломает
Обсуждают сегодня