Что все думают об использовании лямбда-выражений для выполнения вложенных функций в C ++? Например, вместо этого:
static void prepare_eggs()
{
...
}
static void prepare_ham()
{
...
}
static void prepare_cheese()
{
...
}
static fry_ingredients()
{
...
}
void make_omlette()
{
prepare_eggs();
prepare_ham();
prepare_cheese();
fry_ingredients();
}
Вы делаете это:
void make_omlette()
{
auto prepare_eggs = [&]()
{
...
};
auto prepare_ham = [&]()
{
...
};
auto prepare_cheese = [&]()
{
...
};
auto fry_ingredients = [&]()
{
...
};
prepare_eggs();
prepare_ham();
prepare_cheese();
fry_ingredients();
}
Поскольку я принадлежу к поколению, которое научилось кодировать с помощью Pascal, вложенные функции имеют для меня смысл. Однако такое использование, похоже, смутило некоторых менее опытных разработчиков в моей группе во время проверки кода, когда я использовал лямбды таким образом.