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

Удаление объекта по указателю. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Для чего conio.h? http://www.cyberforum.ru/cpp-beginners/thread172400.html
объясните для чего этот файл?и было бы лучше чтобы объяснили для чего и другие заг. файлы например math.h-математические выражения там...к примеру,буду рад ответам
C++ поиск макс. элемента в ряде матрицы и его индекс помагите решить задачу- Найти максимальный элемент в третьем ряде матрицы Р(5,5) и его индекс. http://www.cyberforum.ru/cpp-beginners/thread172393.html
C++ Найти минимальный элемент на главной диагонали матрицы
Найти минимальный элемент на главной диагонали матрицы
C++ Найти сумму модулей элементов массива, расположенных после первого отрицательного элемента
В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1) номер минимального по модулю элемента массива; 2) сумму модулей элементов массива, расположенных после первого от- рицательного элемента. ПОМОГИТЕ, ЖЕЛАТЕЛЬНО СРОЧНО!!!
C++ Выделить из строки s слов, начиная от слова с номером n http://www.cyberforum.ru/cpp-beginners/thread172382.html
Помогите пожалуйста: нужно выделить из строки s слов,начиная от слова с номером n. Входные параметры: s,n. Выходные параметры: нет.
C++ метод хорд помогите решить уравнение tg(0.4x+0.4)=x^2 методом хорд подробнее

Показать сообщение отдельно
AlexRyzhenko
0 / 0 / 0
Регистрация: 29.07.2009
Сообщений: 119
05.10.2010, 17:48  [ТС]     Удаление объекта по указателю.
Если в классе Record есть метод удаления объекта
C++
1
2
3
4
5
void delete_rec(Record *rec)
{
delete rec;
rec = NULL;
}
Он вызывается через элемент массива укзателей на объекты
C++
1
rec[n]->delete_rec(rec[n]);
Интуитивно понимаю, что лажа, но как иначе? Так вот, в этом случае объект удаляется, но указатель не равен NULL. А если сделать так
C++
1
2
3
4
5
6
7
void delete_rec(Record **rec)
{
delete *rec;
*rec = NULL;
}
...
rec[n]->delete_rec(&rec[n]);
Тогда и объект удаляется, и указатель равен NULL. Не понимаю механизма. Объясните, пожалуйста.
 
Текущее время: 04:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru