Лямбда как goto
От: B0FEE664  
Дата: 21.04.16 14:07
Оценка: 17 (3) +1 :))) :))
  лирическое отступление

Еще я мальчиком все думал: заведу себе зверька,
а то их вон сколько скачет по полям-то.
Возьму в товарищи разумного жирафа, муравьеда
или просто кенгуру, я даже имя подыскал.
Лямбда! Я назову его Лямбда! —
Так думал я, но детство кончилось, а бедный муравьед
и по сегодня остается невостребован
и скачет, где скакал!



А правда, что модные программисты больше не используют олдс-кульную конструкцию вида:
do{ if (..) continue; } while(false);

а заменили её на лямбду:
#include <iostream>
#include <string>


int main(int argc, char* argv[])
{
    std::string str = "fdsa";
    int n = -1;

    [&]()
    {
        if ( str == "asdf" )
        {
            std::cout << 1 << std::endl;
            n = 1;
            return;
        }

        if ( str == "fdsa" )
        {
            std::cout << 2 << std::endl;
            n = 2;
            return;
        }

        n = 0;
        std::cout << "unknown" << std::endl;
    }();

    std::cout << "n=" << n << std::endl;

    return 0;
}

?
И каждый день — без права на ошибку...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.