Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.95/21: Рейтинг темы: голосов - 21, средняя оценка - 4.95
1 / 1 / 0
Регистрация: 31.03.2019
Сообщений: 144

Как “научить” Указатель определять, что сам Объект уже удален?

30.08.2020, 22:14. Показов 5228. Ответов 40

Студворк — интернет-сервис помощи студентам
Кажется, это называется “Висячий Указатель”, который указывает на уже удаленный Объект.
Хочется, чтоб когда Объект удаляется из памяти, то все указатели на него обращались бы NULL. Как это сделать?

М.б. существуют какие-то методики, чтобы бороться с Висячими Указателями?

Я уже отчаялся и пытаюсь придумать свой “велосипед” : типа менеджер Объектов, который регистрирует указатели и следит за удаляемыми объектами.
Но, надеюсь, что есть более простые способы.
Пожалуйста, подскажите...
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
30.08.2020, 22:14
Ответы с готовыми решениями:

Что значит константный указатель на объект, указатель на константный объект, и как это можно использовать?
Подскажите, что значит константный указатель на объект, указатель на константный объект, и как это можно использовать??

Как проверить, быль ли удалён указатель или нет?
С похмелья голову заклинило %-) X* x=new X(); delete x; if(x) ? или как? Как проверить, удалён на данный момент указатель...

Нужно научить прогу определять дату
Здравствуйте тут есть такой вопрос, у меня имеется таблица stringgrid в которой в 1 столбце записаны даты, а за исключением 1 строчки везде...

40
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
02.09.2020, 17:10
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Avazart Посмотреть сообщение
Я про это и говорил это куда "тяжелее" умного указателя получаться в котором только указатель на счетчик хранится.
Ну и с чего ему тяжелее быть? По минимуму - в смарте вместо указателя на контроллер живет второй указатель на следующего в списке, в объекте указатель на первый, и никакого расходу памяти на сами контроллеры. Только оверхед однократный а не постоянный как у weak_ptr. Если снизить этот однократный оверхед до гарантированного O(1) оверхед до минимального - ну добавится максимум третий указатель в смарт. т.е. максимум - 3x на указатели. Если делать не двусвязным списком а нормальным вариантом динамического массива в объекте - то в пределах от 2 до 3. чем больше указателей на один объект тем ближе к 2,
Т.е. исходим из того что двунаправленность - это указатели в две стороны. Т.е. вместо одного два. Третий добавляется для ускорения операций поддержания двунаправленности.
При этом сравнивать со смартами STL смарты двунаправленные смарты нельзя в принципе - они выполняют абсолютно противоположные задачи и применяются для абсолютно разных объектов. STL-кие - для управления пассивными буферами (т.е. эиуляции GC c корректной работой слабых ссылок). Двунаправленные - для имплементации правил взаимосвязей активных сущностей принятых в ООП, которые делают GC ненужным от слова совсем. Т.е. решают абсолютно проивоположные задачи.

Добавлено через 3 часа 53 минуты
Цитата Сообщение от Avazart Посмотреть сообщение
Я про это и говорил это куда "тяжелее" умного указателя получаться в котором только указатель на счетчик хранится.
Говорить можно все что угодно. Но это не значит что то что сказано будет соответсвовать действительности. Докажите расчетом, как это принято в инжинерной практике. Расчет ваши домыслы полностью опровергает.
Мало того не надо думать что умные указатели - это только то что в STL. Умные указатели - это указатели интеллектуально реагирующие на изменение их значения в т.ч. выход из скопа. Так что в STL - это один частный случай умного указателя. Двунаправленные тоже по определению умные. Так же как и итераторы.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.09.2020, 17:10

Основы: указатель на объект или объект, что выбрать?
Не до конца понимаю (или вообще не понимаю) когда лучше использовать указатель на объект, а когда объект. Например: // есть класс ...

Как двигать объект, когда нажимаешь на сам объект?
Здравствуйте, такая вот не приятная ситуация сам новичок в С# Хотел бы узнать как двигать обьект при прикосновении именно к нему а не...

Как преобразовать ссылку на объект в указатель на этот объект?
Как преобразовать ссылку на объект в указатель на этот объект? Буду благодарен за помощь.

Проверка удален ли объект
Здравствуйте, ни как не могу придумать как сделать проверку удален ли объект. На сцене есть объект, когда персонаж касается его он...

Удалить сочетание клавиш у ярлыка, который уже удален
Для каждого ярлыка на рабочем столе, через свойство можно задать сочетание клавиш (для быстрого вызова этого ярлыка). Но вот беда, ярлык...


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

Или воспользуйтесь поиском по форуму:
41
Ответ Создать тему
Новые блоги и статьи
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет! За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru