Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.57/21: Рейтинг темы: голосов - 21, средняя оценка - 4.57
187 / 180 / 25
Регистрация: 27.01.2012
Сообщений: 1,335

Выйти из нескольких функций

03.01.2014, 10:03. Показов 4796. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Необходимо при определенном условии выскочить из косвенной рекурсии. Конечно, можно сделать это монструозно, но, полагаю, есть возможность выйти изо всех эти функций безо всяких глобальных переменных и тучи if при каждом косвенном вызове на проверку этого глобального флага?
Исключения использовать нельзя.

Я бы сделал это через goto, но насколько это правильно? Разворачивает ли goto стэк? Мне кажется, что нет.. Но может я ошибаюсь?

Так бы это выглядело с goto:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void f1()
{
f2();
}
void f2()
{
if (..)
goto HERE;
f1();
}
int main()
{
f1();
HERE:
doSomethingElse();
}

Не по теме:

Пожалуйста, не надо кричать "использование goto = быдло код"..

0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
03.01.2014, 10:03
Ответы с готовыми решениями:

Условия для нескольких функций
Всем привет! Делаю задачку 1-го курса. Столкнулся с ошибкой: Хочу, чтобы при вводе определенного значения переменной выбиралась нужная...

Работа с файлом из нескольких функций
Здравствуйте. Нужно печатать в 1 файл из нескольких функций. Предположим есть функция main void main() { ofstream...

Возвращение из функций нескольких значений
Доброго времени суток. Нужна помощь. Дано задание: Напишите функцию swap(int& a, int& b, int& c), которая изменяет значения ...

22
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
03.01.2014, 15:15
Студворк — интернет-сервис помощи студентам
Необходимо реализовать логику на предикатах в колбэках.
0
║XLR8║
 Аватар для outoftime
1212 / 909 / 270
Регистрация: 25.07.2009
Сообщений: 4,361
Записей в блоге: 5
03.01.2014, 17:52
Ппц, начинаем думать:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
void f1()
{
    f2();
}
void f2()
{
    if (..)
    goto HERE;
    f1();
}
int main()
{
    f1();
    HERE:
    doSomethingElse();
}
 
// equal to
 
void bar()
{
    foo();
}
 
void foo()
{
    if (true) return;
    bar();
}
Это в случае если функции действительно без возвращаемых значений.
0
0 / 0 / 0
Регистрация: 25.12.2013
Сообщений: 9
03.01.2014, 18:17
а break не пробовали?

Добавлено через 1 минуту
Ну или применить алгоритм метки
label1:
label2:
...
это позволяет выйти из многовкладенных циклов по условию

Добавлено через 4 минуты
Опыт это не имя которое дано ошибкам
Есть люди ошибаются на одном и том же 1000 раз и не понимают... вот тут то!
именно понимают!
опыт это то что человек понял и реализовал
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.01.2014, 18:17
Помогаю со студенческими работами здесь

Объявление нескольких функций в head.h
Помогите разобраться. Ниже приведенный код работает у меня. Но меня мучают сомнения, что помещать несколько функций в заголовочный файл...

Решение задачи с применением нескольких функций
Помогите с решением :) Написать программу решением задачи с помощью нескольких функций. Значения элементов динамического массива...

Программирование задач с использованием нескольких функций
всем доброго времени суток! вроде код правильный, помогите найти ошибку!! #include <iostream.h> #include <math.h> ...

Программа с возвратом из функций нескольких значений
Как переделать эту на программу с возвратом из функций нескольких значений? void main() { setlocale(LC_ALL, "Rus"); ...

Шаблоны функций при компиляции нескольких файлов
Добрый день, форумчане! Ситуация следующая: есть проект на VS2015. В сторонней от него папке лежит два файла queue.h и queue.cpp. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
23
Ответ Создать тему
Новые блоги и статьи
Модель здравосохранения 17. Планы на выгорание
anaschu 23.05.2026
Вот конкретная схема реализации: В классе Работник добавить: накопленнаяУсталость — растёт каждый час работы, снижается в перерывы и болезни коэффициентПрезентеизма — снижает продуктивность. . .
Изменение цветов в палитре gif файла aka фавикона
russiannick 23.05.2026
Изменение цветов в палитре gif файла, юзаемого как фавиконка в составе html-файла, помещенная в base64, средствами нативного Java Script, навеянное сном в майский день. Для работы необходим браузер,. . .
Модель здравосохранения 16. Слишком хорошие и здоровые сотрудники уходят, недовольные зарплатой
anaschu 23.05.2026
Отладка увольнений и настройка производительности Сегодня во второй половине дня разобрались с механикой увольнений и настроили коэффициент сложности заданий. Вот что было сделано. . . .
Как я стал коммунистом))) Модель сохранения здоровья сотрудников, запись блога номер 15
anaschu 23.05.2026
Внезапно хорошее здоровье сотрудников не нужно капиталистам?))
Модель здравоСохранения 15. Как мы чинили AnyLogic модель рабочего коллектива: сочленение диаграммы состояний болезней и поломок в ресурспул
anaschu 23.05.2026
Как мы чинили AnyLogic модель рабочего коллектива Сегодня разобрались с пятью багами, из-за которых модель либо падала с ошибкой, либо давала совершенно бессмысленные результаты. Каждый баг был. . .
Диалоги с ИИ
zorxor 23.05.2026
Насколько я понимаю - Вы - Искусственный Интеллект. Это так? Да, всё верно. Я — искусственный интеллект. Я представляю собой большую языковую модель, созданную для помощи в самых разных задачах. . . .
Модель здравосохранения 14. Собираем всю модель вместе.
anaschu 22.05.2026
Модель собрана. В будущих постах на видео я покажу, как она работает. В этом посте запускаем её, проверяем результаты и разбираем что можно с ней делать дальше. Перед запуском проверяем. . .
Модель здравоохранения 13. Добавление самой системы здравоохранения.
anaschu 22.05.2026
В предыдущем посте мы настроили болезни. Теперь добавим события, которые управляют здоровьем всего коллектива, а также настроим рабочий график и расчёт финансов. В Main создаём четыре события. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru