Использование лямбда-выражений для выполнения вложенных функций

Что все думают об использовании лямбда-выражений для выполнения вложенных функций в 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, вложенные функции имеют для меня смысл. Однако такое использование, похоже, смутило некоторых менее опытных разработчиков в моей группе во время проверки кода, когда я использовал лямбды таким образом.

12
задан Arcadio Alivio Sincero 24 February 2012 в 22:18
поделиться