|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
24.07.2010, 14:09 | #31 | ||
Пользователь
Регистрация: 06.06.2010
Сообщений: 42
|
Цитата:
Цитата:
|
||
24.07.2010, 17:01 | #32 |
Форумчанин
Регистрация: 13.07.2010
Сообщений: 346
|
вы все пережевываете GOTO???
его не любят не только за ухудшение читаемости, но и потому что раньше(да и вероятно сейчас) с помощью его можно переходить в другой сегмент памяти.... а это черевато перегрузкой конвейера процессора и существенной задержкой исполнения программы сейчас это скажем не очень актуально.... так что остается только понимание кода, если вам хочется оставить на предприятии после себя "СЛЕД" - используйте goto почаще и икать будете до конца жизни.
Non est culpa vin, sed culpa bibentis
|
24.07.2010, 21:38 | #33 |
Форумчанин
Регистрация: 29.04.2010
Сообщений: 114
|
Вообще среди опытных программистов использование оператора goto считается признаком дурного тона, равносильно ковырянию в носу за столом.....:-)
|
25.07.2010, 13:15 | #34 |
Пользователь
Регистрация: 06.06.2010
Сообщений: 42
|
Я бы сказал, что дурным тоном являетя не употребление оператора goto, а злоупотребление им; разумное использование в малом количестве способно улучшить ясность кода. К примеру, в уже опомянавшейся задаче выхода по условию из нескольких вложенных циклов IMHO использование этого оператора предпочтительней как в плане читаемости кода так и его скорости работы; альтернативные пути решения этой задачи (будь то использование для этих целей механизма обаботки исключений или выделение вложенных циклов в отдельную функцию где вместо goto используется return) на мой взгляд ни грамма не улучшают читаемости кода, а вот на скорость его работы влияют однозначно негативно.
|
25.07.2010, 15:07 | #35 |
Старожил
Регистрация: 21.03.2009
Сообщений: 2,193
|
Вопрос, конечно, нетривиальный. Лично мне действительно пока известен только один разумный вариант использования goto - при выходе из нескольких вложенных циклов.
А вот при глубокой рекурсии (например, при поиске по дереву), на мой взгляд лучше использовать исключения (но при этом обязательно в коде делать четкие комментарии на этот счет) и производить спецификацию исключений, как-нибудь так: Код:
В случае завертывания циклов в функцию и замену goto на return, иногда можно делать функцию inline, тогда, возможно, не будет никаких проблем с быстродействием (впрочем, в зависимости от того, насколько умный компилятор, могут быть, а могут даже без inline не быть).
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта Тема на форуме, посвященная ему же |
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Паскаль. использование условного оператора в теле операторов цикла с условием и после него | машко | Помощь студентам | 1 | 22.06.2009 00:52 |
использование условного оператора после операторов цикла с условием | машко | Помощь студентам | 8 | 21.06.2009 23:59 |
использование условного оператора в теле оператора цикла с условием | машко | Помощь студентам | 2 | 21.06.2009 23:55 |
Использование оператора условия | Virtson | Microsoft Office Access | 2 | 15.12.2006 16:13 |