Иногда не хочется ради чего-то простого выделять отдельную функцию) Если рассматривать с точки зрения читабельности
с точки зрения читабельности const int Angle = CalculateAngle(x, y, 42); проще чем const int Angle = [&](int x, int y, int _answer) { return /* something */ }(x, y, 42);
тем, что на каждый чих функцию делать? еще и параметры все дважды перечислять вместо неявного захвата
Функция скорее всего предполагает хотя бы теоретически вызов с разных мест, а не только с одного. Если например операция очень специфическая и должна быть только в одном месте, то функцию городить не очень (имхо)
я говорю про конкретно инициализацию, где выбор обычно между просто кодом и лямбдой, а не лямбдой и отдельной функцией https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Res-scope https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Res-lambda-init
Обсуждают сегодня