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

Деструктор класса. Как правильно очистить память? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Алгоритм Флойда-Уоршелла http://www.cyberforum.ru/cpp-beginners/thread1171675.html
Можно ли переделать алгоритм так, что бы он выдавал не только кратчайший путь, но и указывал через какие вершины графа он проходит? Допустим есть готовая матрица смежности, ввести начальную и...
C++ Программа для работы с перемешанной таблицей, использующей перемешивание сложением, по запросам оператора Вообщем народ такая беда у меня есть задание состоящие из двух частей, с первой проблем с частью А нет все норм. А вот со второй маленький косяк, двоичный файл не создается и даже не открывается.... http://www.cyberforum.ru/cpp-beginners/thread1171648.html
C++ Ошибка : " L Buffer is too small & & 0"
Здравствуйте. У меня возникла странная проблема: в недалеком прошлом рабочая программа начала выдавать ошибку: " L Buffer is too small & & 0". Не нравиться ей 30 строка, но там ничего важного нет....
Нахождение экстремумов функции двух переменных, методами: дихотомии, поразрядного сближения и равномерного пои C++
Здравствуйте, меня интересует нахождение экстремумов функции двух переменных, методами: дихотомии, поразрядного сближения и равномерного поиска. Для одной переменной, это все очень просто и понятно....
C++ Форматированный вывод действительного числа http://www.cyberforum.ru/cpp-beginners/thread1171602.html
Доброго времени суток! Подскажите, пожалуйста как лучше обрезать число? Пример: -1.123e020 после обрезки чтоб дало: -1.12e20 (можно ли чтобы там где е020 стало просто е20?. Это важно). Спасибо...
C++ Удаление лишних (подряд идущих) разделителей при разделении строки Здравствуйте! Задача такая: вводятся в массив razd N разделителей(ну там что то на подобии "!" , "." , "?" , "пробел" и тд... только этот разделитель может быть любым символом), потом вводится... подробнее

Показать сообщение отдельно
Убежденный
Системный программист
Эксперт С++
15631 / 7140 / 1130
Регистрация: 02.05.2013
Сообщений: 11,581
Записей в блоге: 1
Завершенные тесты: 1
10.05.2014, 22:21
Цитата Сообщение от kultttemo Посмотреть сообщение
Написал прогу бинарного дерева поиска, все работает, но нужен совет как убрать за собой, тобесь очистить память во избежания утечек.
Для начала разберитесь (в смысле - напишите или объявите закрытыми)
конструктор копирования и оператор присваивания. Без них ваш класс
перестанет работать после создания первой же своей копии.

Цитата Сообщение от Melg Посмотреть сообщение
Тогда деструктор должен выглядеть следующим образом :
C++
1
2
3
4
5
6
7
8
Tree::~Tree() {
 if (right) {
 delete right;
 }
 if (left) {
 delete left;
 }
}
По стандарту языка C++, delete на null-указателе разрешена и
не выполняет никаких действий (no-op). Поэтому можно
упростить так:

C++
1
2
3
4
5
Tree::~Tree()
{
    delete right;
    delete left;
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru