С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ошибка при заполнении массива http://www.cyberforum.ru/cpp-beginners/thread1062147.html
Помогите пожалуйста решить проблему: Это программа для игры в крестики нолики. В первой функции void instruction() необходимо вывести массив и в задумке надо что бы массив заполнялся символами от...
C++ Разработать функцию, позволяющую поменять местами две произвольные строки матрицы Имеется код: #include <iostream> #include <stdio.h> using namespace std; char **s = new char* , *t; int i, j, n; int main() { for(i=0; i<10; i++) http://www.cyberforum.ru/cpp-beginners/thread1062144.html
C++ Найти сумму всех положительных чисел и записать ее в начало файла
Создать текстовый файл, содержащий числовую информацию. Найти сумму всех положительных чисел и записать ее в начало файла. Дополнительных массивов и файлов не использовать
Ввести две символьных строки. Выполнить поиск второй строки в первой и вывести номер позиции первой строки, с которой вторая строка содер-жится в ней C++
Ввести две символьных строки. Выполнить поиск второй строки в первой и вывести номер позиции первой строки, с которой вторая строка содержится в ней. Новых строк не создавать. Строку до и после...
C++ Транспонировать квадратную матрицу, используя только оператор for. Новой матрицы не создавать. Вывести исходную и транспониро-ванную матрицы http://www.cyberforum.ru/cpp-beginners/thread1062121.html
Транспонировать квадратную матрицу, используя только оператор for. Новой матрицы не создавать. Вывести исходную и транспониро-ванную матрицы. // z1.cpp: главный файл проекта. #include...
C++ Драйвер на с++ Есть просьба, кто может, скинте исходник драйвера клавы или мыши на с++. Заранее спасибо. подробнее

Показать сообщение отдельно
taras atavin
3570 / 1754 / 91
Регистрация: 24.11.2009
Сообщений: 27,567
03.01.2014, 10:55
Цитата Сообщение от nexen Посмотреть сообщение
Необходимо при определенном условии выскочить из косвенной рекурсии. Конечно, можно сделать это монструозно, но, полагаю, есть возможность выйти изо всех эти функций безо всяких глобальных переменных и тучи... Я бы сделал это через goto, но насколько это правильно? Разворачивает ли goto стэк? Мне кажется, что нет.. Но может я ошибаюсь?
Каждый экземпляр каждой функции должен завершаться, согласно логике этой функции, всё остальное - костыли. Если тебе надо во вложенном экземпляре выйти из всей рекурсии, то единственный правильный вариант - заставить все вышележащие по цепочке функции завершаться сразу же при возврате из нижележаших. Выполнилось условие, функция завершается возвращает такое (в параметре, или в значении самой функции), что вызвавшая функция её тоже завершается с аналогичным возвратом. И ни какой записи в глобальным переменные из рекурсии.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.