|
0 / 0 / 0
Регистрация: 01.07.2009
Сообщений: 6
|
||||||
Замена goto на адекватный оператор27.10.2010, 21:39. Показов 14869. Ответов 34
Метки нет (Все метки)
Есть приблизительно такой код (условие всередине нескольких циклов, приводить которые не имеет смысла):
При таком раскладе уходит в рекурсию. Можно как-то переписать код без использования оператора goto?
0
|
||||||
| 27.10.2010, 21:39 | |
|
Ответы с готовыми решениями:
34
Оператор Goto и ветвление
Оператор goto в коде под Банкомат |
|
1563 / 1041 / 94
Регистрация: 17.04.2009
Сообщений: 2,995
|
||
| 28.10.2010, 00:05 | ||
- это утрировано конечно, но суть думаю вы поняли ...
0
|
||
|
бжни
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
|
|
| 28.10.2010, 00:08 | |
|
вы либо троллите, либо это печально
ваша подача спора примитивна
0
|
|
|
1563 / 1041 / 94
Регистрация: 17.04.2009
Сообщений: 2,995
|
||
| 28.10.2010, 00:12 | ||
|
0
|
||
|
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
|
|
| 28.10.2010, 00:14 | |
|
KuKu, никто не говорил, что goto - запретный плод.
Если у вас одна метка и вы чётко понимаете при каком условии будет выполнена переадресация - используйте, ради Бога. Однако, если у вас большой проект, с кучей меток - вам очень сложно будет уловить суть. Код будет разбросан. Будете смотреть что у вас выполняется в 1791-ой строке, всё вроде будет ясно, потом в 1792-ой будет метка на 180-ую строку, а из неё можно прыгнуть и в 51-ую ... и всё это делается ради того, чтобы опять вернуться к 1793-ей строке и посмотреть, а что же будет, если не переходить по метке...
1
|
|
|
бжни
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
|
|
| 28.10.2010, 00:14 | |
|
KuKu, можно сказать vector и string уг, больше их не используем
да, все подумали - может иногда их и не стоит использовать, но это уж вы приводите аргументы почему и когда надо goto использовать, а не "а так? а так, а почему так"
0
|
|
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
| 28.10.2010, 00:16 | |
|
KuKu, Что ж... В goto нет смысла по причине того, что есть высокоуровневые вещи выполняющие не совсем ту же работу, но все же.
А именно. Циклы, exit, return, throw. Вы же не используете асемблерные вставки для всего подряд? Так зачем использовать низкоуровневые конструкции типа goto?
1
|
|
|
бжни
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
|
|
| 28.10.2010, 00:17 | |
|
а goto и есть практически асмовская команда - jmp
1
|
|
|
1563 / 1041 / 94
Регистрация: 17.04.2009
Сообщений: 2,995
|
|
| 28.10.2010, 00:25 | |
|
ладно, всем спасибо )
0
|
|
|
8384 / 3618 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
|
|||||||
| 28.10.2010, 14:30 | |||||||
|
Странное решение и продолжение Странное решение ? ![]() Хотя в таких случаях
0
|
|||||||
|
1563 / 1041 / 94
Регистрация: 17.04.2009
Сообщений: 2,995
|
|
| 28.10.2010, 15:15 | |
|
M128K145, а можно узнать автора этого великолепия ?
такое подписывать надо ...
0
|
|
|
8384 / 3618 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
|
|
| 28.10.2010, 15:21 | |
|
0
|
|
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
|
| 28.10.2010, 15:25 | |
|
Где-то читал, что оправданным считается применение goto для выхода сразу из нескольких вложенных циклов. В таком случае ваш код не будет считаться говнокодом
0
|
|
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
| 28.10.2010, 15:27 | |
|
Nameless One, Ну для этого ведь и throw хватит.
0
|
|
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
|
| 28.10.2010, 15:29 | |
|
Lavroff, в С throw нету
0
|
|
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
| 28.10.2010, 15:30 | |
|
Nameless One, Это да. Тут согласен)
0
|
|
| 28.10.2010, 15:30 | |
|
Замена goto C++ Замена goto Использовать оператор перехода GOTO в приведенном коде Заменить оператор goto на цикл, если это возможно Переделать фрагмент кода так, чтобы использовался оператор goto Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Сукцессия 20. Война автоботов. Делаем ставки. Лёд против "пш-пш!".
anaschu 11.07.2026
Битва ИИ в ризосфере: Как мы скрестили жесткие ОДУ, закон Фика и «подземный шантаж»
Уважаемые коллеги!
Хочу поделиться уникальным опытом ведения междисциплинарной компьютерной разработки. Прямо. . .
|
Сукцессия 19. Какие выводы я сделал из модели? Часть 2.Внутримикоризный стехиометрический буфер и хроно-дискретные зоны экспансии
anaschu 11.07.2026
Био-Инженерный Ликбез: Архитектура Модели Ризосферы
Математический аппарат моделирования
|
Сукцессия 18. Какие выводы я сделал из войны грибов с деревьями? Часть 1- рассказ и немного про термины
anaschu 11.07.2026
Био-Инженерный Ликбез: Архитектура Модели Ризосферы
Математический аппарат моделирования
Система ОДУ описывает динамику изменения массы различных компонентов системы во времени. Ключевой. . .
|
Просветление в 5 секунд
kumehtar 10.07.2026
Андрей Веретенников выдал фразу недавно: "Вам не обязательно кем-то себя считать"
|
|
Эксперимент с картинкой-обложкой на CodinGame
Adler 10.07.2026
Решил на днях провести эксперимент. У меня есть аккаунт на CodinGame, ТОП-3 по РФ среди 2200 участников (в разделе соревнования по программированию ИИ-ботов). Там есть обложка, куда можно влепить. . .
|
GitDOS: Когда я решил скрестить MS-DOS, GitHub и Claude
MaGz GoLd 08.07.2026
Привет, Киберфорум! Хочу поделиться своим проектом, который, надеюсь, вас заинтересует. GitDOS — это веб-приложение, которое позволяет запускать DOS в браузере с тремя крутыми фичами: диски живут в. . .
|
Учебный мини "цифровой двойник" = (Сервер = Java + Flask_питон )+(3D = Гугловскаая 4T nvideo + google colab) +( WMS = Odoo на Docker)
anaschu 07.07.2026
Увидел в требованиях к вакансии создателя имитационных моделей связку (REst + Api + WMS + Anylogic + питон + 3D Nvideo), и решил посмотреть, что это такое. Из этого всего я работал более менее. . .
|
Море в объективе
kumehtar 06.07.2026
Хотел написать много проникновенных слов, но передумал.
Оно само - говорит.
Кто слышит тот слышит.
|