LINUX.ORG.RU

История изменений

Исправление Dendy, (текущая версия) :

До C++11 были боль и страдания, либо нелепый пустой цикл, либо куча вложенностей с мутабельными переменными, либо вынос кода в отдельную функцию, что раздирает читабельный текст на несколько несвязных кусков.

С появлением лябмд всё упростилось, теперь скоуп функции можно встаивать внутрь кода, как-то так:

const int value = [&] {
    if (cond1) return -5;
    if (cond2) return foo();
    bar();
    if (cond3) return baz();
    return 42;
}();

Исходная версия Dendy, :

До C++11 были боль и страдания, либо нелепый пустой цикл, либо куча вложенностей с мутабельными переменными, либо вынос кода в отдельную функцию, что раздирает читабельный текст на несколько несвязных кусков.

С появлением лябмд всё упростилось, теперь скоуп функции можно встаивать внутрь кода, как-то так:

const int value = [&]() {
    if (cond1) return -5;
    if (cond2) return foo();
    bar();
    if (cond3) return baz();
    return 42;
}();