if (!condition)
{
// some code here
if (!another_condition)
{
//some another code
if (!another_condition)
{
//some another code
if (!another_condition)
{
//some another code
if (!another_condition)
{
//some another code
return true;
}
}
}
}
}
//some cleanup code here
return false;
Я лишь привел пример поиска. Ситуации, когда goto делает куд читабельнее и красивее есть. И поиск — это одина из вероятных ситуаций.
if (condition)
{
goto CANCEL;
}
// some code here
if (another_condition)
{
goto CANCEL;
}
// some another code here
return true;
CANCEL:
// some cleanup code
return false;
Сейчас вы наверное скажете, что можно разбивать на подфункции и т.п. Да можно. Но иногда возникают ситуации, когда другие решения являются менее красивыми. Конечно, можно лепить флажки, кучи условных уровней, десятки доп функций и т.п.
Нет ничего плохого в том, чтоб грамотно использовать goto. Я не сую его во все щели и мало того, в python, на котором я очень люблю писат оператора goto нет.
Конечно же, в жтом сулчае можно было обойтись флажком, например. В операторе гоуту нет ничего плохого, если использовать его с головой а не пихать везде подряд. И, опять же, если он такой плохой, почему этот оператор есть почти во всех языках?
удачи!
Мне не по душе крики о том, что использование оператора goto — это удел красноглазиков. Это и пытался донести.
так?
Сейчас вы наверное скажете, что можно разбивать на подфункции и т.п. Да можно. Но иногда возникают ситуации, когда другие решения являются менее красивыми. Конечно, можно лепить флажки, кучи условных уровней, десятки доп функций и т.п.
Нет ничего плохого в том, чтоб грамотно использовать goto. Я не сую его во все щели и мало того, в python, на котором я очень люблю писат оператора goto нет.
Эээээ… про какие минуса идет речь?