C/C++
	
		
		
								
				
								
				
								
				
								
				
								
				
								
				
								
				
								
				
																				
							
								
				
								
				
								
				
								
				
			
	
		
			Почему за использование goto тебя могут забить ногами
Почему за использование goto тебя могут забить ногами
	
	
	Потому, что в современных языках высокого уровня любой код можно написать без goto и такой код в большинстве случаев будет намного понятнее, чем вариант c goto. Неправильное использование goto приводит к написанию кода, на чтение которого понадобится затратить неадекватно много времени и сил.
Существуют 2 реальные причины использования goto в языках высокого уровня:
1. для обработки ошибок в тех языках, где специальные механизмы работы с ошибками (исключения, возврат ошибки как значения и т. д.) не предусмотрены. Но только в том случае, когда обработка ошибок без goto сильно усложняет код.
2. для имитации многоуровневых break / continue в циклах - опять же, если в языке это не предусмотрено. Но в этом случае чаще также можно обойтись без goto - поместив циклы в отдельную подпрограмму и реализуя выход из циклов посредством return.
				
							Существуют 2 реальные причины использования goto в языках высокого уровня:
1. для обработки ошибок в тех языках, где специальные механизмы работы с ошибками (исключения, возврат ошибки как значения и т. д.) не предусмотрены. Но только в том случае, когда обработка ошибок без goto сильно усложняет код.
2. для имитации многоуровневых break / continue в циклах - опять же, если в языке это не предусмотрено. Но в этом случае чаще также можно обойтись без goto - поместив циклы в отдельную подпрограмму и реализуя выход из циклов посредством return.
Использование goto, за исключением некоторых случаев, ухудшает читабельность программы и мешает компилятору и процессору оптимизировать выполнение кода.
				
									Возвращает обратно, после исполнения пока цель небудет достигнута
				
							Ерунда это, использовать можно иногда, просто если сделать все через goto - то будут очень злые, все равно, что на уровень ассемблера перейти
				
							Есть немало способов обойти использование goto и сделать код более лаконичным
				
							я знаю только 1 минус - типа макаронный код.
непонимаю нытьё.
плюсов дохрена.
continue это гото в конец цикла. а иногда очень нужно гото в начало цикла. почему бы и нет.
куча if ужасно всё тормозит. с гото можно выйграть целую 0.1 сек.
				
							непонимаю нытьё.
плюсов дохрена.
continue это гото в конец цикла. а иногда очень нужно гото в начало цикла. почему бы и нет.
куча if ужасно всё тормозит. с гото можно выйграть целую 0.1 сек.
Потому что
				
							Это глупый миф в среде неучей и дурачков.
				
									
								
									Иван Рязанов								
								Это НЕ глупый миф.  Похоже, что ты НИКОГДА не возился с ЧУЖОЙ программой, написанной с кучей GOTO!  А вот мне - довелось.  Правда, очень давно, году в 78-80.							
																				
								
									Сергей Серебряков								
								Стандарт-не-стандарт-плохо-не-плохо "а Васька (зачеркнуто) Microsoft не слушает да пишет".
Я к тому что если смотреть исходники .NET в Microsoft совсем не гнушаются goto.
											Я к тому что если смотреть исходники .NET в Microsoft совсем не гнушаются goto.
Ричард Стивенс, автор известных книг "TCP/IP Illustrated" и "Unix Network Programming", как-то раз заметил, что противникам использования GOTO стоит попробовать реализовать функцию tcp_input() из 4.4BSD реализации TCP/IP без GOTO так, чтобы она была хотя бы столь же эффективна, как исходная. Мораль: всему свое место.
				
							А что такое это
				
							Просто в школе юных программистов за это ругали учителя, поэтому они продолжают ругать за GOTO других программистов, безосновательно аргументируя это очень частными случаями.
Так то это просто оператор, полезный в некоторых случаях. А захламить программу можно и другими вещами, неужели от всего надо отказываться?
				
							Так то это просто оператор, полезный в некоторых случаях. А захламить программу можно и другими вещами, неужели от всего надо отказываться?
Используй до тех пор пока сам не поймешь почему нельзя !
Вообще проблем невижу с гото.
один хер когда что то не работает идешь и смотришь код почему не робит.
				
							Вообще проблем невижу с гото.
один хер когда что то не работает идешь и смотришь код почему не робит.
Похожие вопросы
- C++. Есть ли функция для завершения работы программы (аналог goto в самый конец программы)?
 - Как заменить конструкцию if/then/else на goto?!
 - Добрый день. Нужна помощь в реализации динамических структур. Нужно написать дек с использованием malloc.
 - Указатели. Программирование с использованием динамических двухмерным масивов.
 - C++ библиотека fstream. при использовании Кириллицы изменяется кодировка в создаваемом файле..
 - Программирование на C++ с использованием динамического массива
 - Каковы преимущества и недостатки использования "ДЕК"
 - C++ программирование с использованием динамических двумерных массивов
 - В чём смысл использования классов?
 - Написать программу, которая сравнивает число перестановок элементов при использовании сортировки «пузырьком» (усовершенс
 
			
						
						
						
						
						
						
						
						
						
						
						
2. кому щас нахер нужно это оптимизирование выполнения кода.
кому нужно тот будет делать это сам.