• Выход из условия if

    @kasitan
    if( условие A ){
        // блок 1
        if( условие B ) {
               // блок 2
        } else {
               // блок 3
        }
        // блок 4
    }


    назвал условия и блоки кода для наглядности. Можно отрефакторить это так:

    bool A = calculateA();
    bool B = calculateB();
    if( A && B ){
        // блок 1
        // блок 2
        // блок 4
    } else if ( А ) {
        // блок 1
        // блок 3
    }


    блок 1 следует вынести в какую-то функцию, видимо, чтобы избежать дублирования.
    Ну и плюс не факт, что так получится, зависит еще, как минимум, от логики вычисления А и В.
    if получился сомнительный, конечно, но как вариант.
    Ответ написан
    Комментировать