>Часто в интернете наталкивался на статьи о плохом тоне, нецелесобразности, вообще о
>полной ненужности оператора goto в языке C. Обоснований точек зрения небыло
>или они были на японском. Тем неменее я его периодически использую.
>Хотелось бы узнать истину. В классической "структурной" программе IMHO при грамотном использовании от goto может
быть польза при полном отсутствии вреда - в частности, для "нелокального" выхода из блока.
Однако программу, в которой интенсивно применяется goto, читать совершенно неудобно.
В программе на полноценном C++ goto - вредный атавизм, поскольку семантика обработки
конструкторов/деструкторов при его применении нетривиальна, абсолютно неочевидна и
по моему скромному разумению вообще делает полноценное применение данного оператора
невозможным.
Резюме:
1. В программах на "чистом" C иногда примение goto сокращает размер текста
программы и не вредит удобству чтения кода.
2. В программах на C++ семантика goto мешает разумно управлять временем жизни объектов.
Поэтому при разработке на C++ goto применять не следует.