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

Рекурсия и статические переменные. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Составить описание класса для представления комплексных чисел http://www.cyberforum.ru/cpp-beginners/thread352464.html
Составить описание класса для представления комплексных чисел с возможностью задания вещественной и мнимой частей как числами типов double, так и целыми числами. Обеспечить выполнение операций...
C++ Видимость переменной Доброго времени суток. Нужна небольшая консультация по программе. У меня программа состоит из нескольких методов в каждом из которых требуется получать размерность матрицы. хотелось бы размерность... http://www.cyberforum.ru/cpp-beginners/thread352441.html
C++ C++ перегрузка операторов
люди такая ситуация кто может в краце объясните перегрузку операторов мне например надо перегрузить оператор умножения что бы умножить матрицу на константу всё разумеется в классе и через объекты
Проверить, пустая ли строка. (fstream) C++
Добрый вечер, ув. форумчане. Допустим есть пример: void main() { char text; ofstream fout("test.txt", ios::app); cin.getline(text, 255); fout << text << "\n";
C++ Реализовать методы класса Sint (secure integer) http://www.cyberforum.ru/cpp-beginners/thread352414.html
Доброго времени суток всем. Задание такое: Реализовать методы класса Sint (secure integer). Класс должен представлять все возможности типа int языка С++, все разрешенные для него операции....
C++ "Пробег" по массиву. Здравствуйте! Стоит следующая задача: Программе необходимо проверить длину серии одинаковых элементов массива. И вывести максимальную длину серии. Например, для следующего массива из 20... подробнее

Показать сообщение отдельно
emilen
10 / 10 / 0
Регистрация: 25.05.2010
Сообщений: 52

Рекурсия и статические переменные. - C++

17.09.2011, 10:46. Просмотров 1257. Ответов 11
Метки (Все метки)

Что - то я запутался. Пытаюсь написать деструктор для своего бинарного дерева поиска, но мне не понятно поведение статических переменных. У меня не заходит в левую ветвь дерева, удаление происходит только правых элементов. Отсюда утечки памяти. Если убрать static у переменных то все правильно удаляется (выводиться, в моем примере). Я правильно понимаю то, что это не хорошо использовать в рекурсивных функциях «обычные» переменные, так как выделяется слишком много памяти под них? Помогите, пожалуйста, разобраться.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
template <class Item>
void delete_tree(Node<Item> item[])
{
    if (item != 0) {
        static Node<Item> *right, *left;
        right = item->right;
        left = item->left;
        cout << item->item << " ";
    //  delete item;
        delete_tree(right);
        delete_tree(left);
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru