LINUX.ORG.RU

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

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

Всё логично, нет?

Нет. Непонятно зачем после метки писать пустой стейтмент. Т.е. с точнки зрения стандарта уже растолковали мне выше, а вот с точки зрения логики — нет.

Вот насколько сложно понять куда пойдёт ход программы после прыжка на метку? Да элементарно: вниз по коду. Конечно, если изменят стандарт и позволят писать метки без стейтмента, то можно будет сделать что-то такое:

int function() {
    int result = 0;
   
    // bla-bla-bla
    if (isProgrammerStupid)
        goto ASS;
    // bla-bla-bla

    return result;
ASS:
}

Но как это сродни прыжкам внутрь цикла без инициализации условия выхода.

Исправление KennyMinigun, :

Всё логично, нет?

Нет. Непонятно зачем после метки писать пустой стейтмент. Т.е. с точнки зрения стандарта уже растолковали мне выше, а вот с точки зрения логики — нет.

Вот насколько сложно понять куда пойдёт ход программы после прыжка на метку? Да элементарно: вниз по коду. Конечно, если изменят стандарт и позволят писать метки без стейтмента, то можно будет сделать что-то такое:

int function() {
    int result = 0;
   
    // bla-bla-bla
    if (isProgrammerStupid)
        goto ASS;
    // bla-bla-bla

    return result;
ASS:
}

Но как это сродни прыжкам внутрь цикла без инициализации условия выхода.

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

Всё логично, нет?

Нет. Непонятно зачем после метки писать пустой стейтмент. Т.е. с точнки зрения стандарта уже растолковали мне выше, а вот с точки зрения логики — нет.

Вот насколько сложно понять куда пойдёт ход программы после прыжка на метку? Да элементарно: вниз по коду. Конечно, если изменят стандарт и позволят писать метки без стейтмента, то можно будет сделать что-то такое:

int function() {
    int result = 0;
   
    // bla-bla-bla
    if (isProgrammerStupid)
        goto ASS;
    // bla-bla-bla

    return result;
ASS:
}

Но как это сродни прыжкам внутрь цикла без инициализации условия выхода.