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