Консультация № 95498
18.07.2007, 01:43
0.00 руб.
0 2 2
Ув. эксперты(Шинтяков Дмитрий Васильевич), я вызываю рекурсию очень много раз и происходит переполнение стека
Вы сказали что объеи стека можно менять, как это можно сделать?
> Обычно объёма стека хватает, а вообще его можно менять

Обсуждение

Неизвестный
18.07.2007, 03:27
общий
это ответ
Здравствуйте, Mikolis!
Изменить размер (объём) стека на сколько я знаю менять нельзя. Если не хватает памяти для выполнения рекурсии то надо использовать динамическую память. Например на каждой итерации рекурсии выделять памяти для переменной (ных), а по завершении итерации освобождать. Освобождать обязательно, а то вместо переполнения стека получится "переполнения" памяти :).
Неизвестный
18.07.2007, 14:57
общий
это ответ
Здравствуйте, Mikolis!
Извините, если для Вас это будет неприемлемо, но я бы очень не советовал Вам использовать рекурсию в Ваших программах. Все дело в том, использование рекурсии с сохранением данных в стеке "отъедает" очень много памяти. Попробуйте использовать сохранение членов/объектов, сохраняемых при рекурсии, например, в динамический массив данных.
Форма ответа