Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.58/160: Рейтинг темы: голосов - 160, средняя оценка - 4.58
9 / 9 / 1
Регистрация: 17.06.2012
Сообщений: 168

указатели и очистка памяти

23.11.2012, 20:41. Показов 31638. Ответов 23
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В отличии от java в с++ память по умолчанию нужно очищать самостоятельно.

Понятно, что если память зарезервированная неким указателем не нужна его следует просто удалить.
но если указатель например р1 ссылается на структуру, мне же нужно присвоить указателю другую структуру того же типа содержащуюся в адресе р2.
Т.е. если я просто присвою указателю р1 который уже содержит структуру адрес новой структуры указателя р2, то старые данные потеряются навсегда но будут занимать место?

Правильно ли я поступлю, если создам новый новый указатель р0, сделаю присвоения р0 = р1; затем delete* р0;
и далее p1 = p2 ?

К слову читал, что в С++ есть сборщики мусора.
Насколько они используются ?
Это экзотика или же стандартная фича?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.11.2012, 20:41
Ответы с готовыми решениями:

Указатели и очистка памяти
Возник интересный вопрос... class Test { int a; }; class Test1 : public Test { int b, c; }; int main() { Test1 *t = new Test1; ...

Очистка памяти
Как правильно очистить память в массиве классов Вот код конструктора, выделяющего память, и деструктора. Выдает ошибку в самом конце...

Очистка памяти
Вот сделал лабу и все работает отлично, но осталось последнее new выделяет память мне нужно добавить функцию которая будет вызыватся в...

23
Эксперт С++
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
29.11.2012, 14:27
Студворк — интернет-сервис помощи студентам
taras atavin, вы скатываетесь в какую-то никому не нужную философию. К этому приводит любое обсуждение с вашим участием. В прошлый раз у вас невозможно было реализовать сборщик мусора в принципе, теперь у вас джава не объектно-ориентированная ни на грош. Возможно, мы с вами живём в различных Вселенных. Как бы то ни было, философию это будем заканчивать. К теме она никакого отношения не имеет.
0
 Аватар для taras atavin
4226 / 1799 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
29.11.2012, 14:30
Выделение части проекта в оболочечный спецкласс - совсем другое дело. Ни какой архитектуре оно не мешает.

Добавлено через 44 секунды
Цитата Сообщение от silent_1991 Посмотреть сообщение
taras atavin, вы скатываетесь в какую-то никому не нужную философию. К этому приводит любое обсуждение с вашим участием. В прошлый раз у вас невозможно было реализовать сборщик мусора в принципе, теперь у вас джава не объектно-ориентированная ни на грош. Возможно, мы с вами живём в различных Вселенных. Как бы то ни было, философию это будем заканчивать. К теме она никакого отношения не имеет.
А нефиг меня на философию провоцировать.
Кроме того, без философии прощай объектно-ориентированное проектирование архитектуры, потому что закономерность и истинная случайность сходства классов - это сплошная философия.

Добавлено через 1 минуту
Цитата Сообщение от silent_1991 Посмотреть сообщение
В прошлый раз у вас невозможно было реализовать сборщик мусора в принципе,
Эйси, автоматический вызов деструкторов не возможен в принципе. Как же тогда вообще юзать кучу?
0
Эксперт С++
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
29.11.2012, 14:33
Цитата Сообщение от taras atavin Посмотреть сообщение
Эйси, автоматический вызов деструкторов не возможен в принципе. Как же тогда вообще юзать кучу?
Это уже обсуждалось. Если вы до сих пор думаете, что сборка мусора не возможна - что ж, это ваши личные проблемы. Удачи.
 Комментарий модератора 
Повторяю, оффтоп закончили. Следующие сообщения буду удалять. Если уж очень хочется пообщаться на эти темы - пишите мне в СЛ.
0
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8217 / 5048 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
30.11.2012, 05:48
C++ поддерживает идиому RAII.
Особенно явно она используется в STL, с умными указателями.
Также, в потоках ввода/вывода с файлов, деструктор сам закроет нужный файл (С++11), и вызывать метод close() уже нет необходимости.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.11.2012, 05:48

Очистка памяти
При выполнении программы, память приложения растёт, а она должна быть неизменной. int main() { setlocale(LC_ALL,...

очистка памяти
в данном случае деструктор очистит всё, или нет? #include "base.h" #include <cstdlib> #include <ctime> base::base(int x,int...

очистка памяти
при запуск программы сама собой создаётся точка останова в строке 59. И дальше программа идти не хочет (даже инструментами отладки). //...

Очистка памяти
Цель: Написать программу, которая читает текст из файла и записывает в новый файл те слова, которые содержат буквы, введенные с...

Очистка памяти
Подскажите пожалуйста что не так делаю, создаю массив лейблов: TLabel **Labels; Labels = new TLabel*; for(int i = 0; i < rabot...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
24
Ответ Создать тему
Новые блоги и статьи
Транслитерация текста с кириллицы на латиницу (вариант №2)
Maks 13.11.2026
Обновленная версия ранее созданной обработки. Добавлено: - Проверка исходного текста на кириллицу, через обращение к стандартной функции "ТолькоКириллицаВСтроке" из общего модуля. . .
Часы с термометром и праздничным календарем
yariko 12.11.2026
Сегодня мы рассмотрим как можно сделать отличные многофункциональные часы. Итак, поставим конкретную задачу: разработать часы с календарем, двумя термодатчиками, выводом поздравительных сообщений. . .
Транслитерация текста с кириллицы на латиницу (вариант №1)
Maks 11.11.2026
Решил облегчить жизнь себе и коллегам админам при создании электронных почтовых ящиков для пользователей, в результате написал обработку "Транслитерация текста" с кириллицы на латиницу, а в ней. . .
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version 1. 2003 - 06 - Designing Virtual Worlds (1st Edition) Автор: Richard A. Bartle | Объем: 768 стр. Ссылки: Amazon . . .
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров". Задача: Запрет инициалов. Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . . Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru