Форум программистов, компьютерный форум, киберфорум
Алгоритмы
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
2 / 1 / 1
Регистрация: 15.09.2025
Сообщений: 49

Решить задачу "висячих" указателей

15.09.2025, 20:11. Показов 5062. Ответов 98

Студворк — интернет-сервис помощи студентам
Добрый день.

Задача:
На объект может ссылаться несколько указателей. Когда объект удаляется, то указатели не должны превратиться в "висячие". Их надо либо сразу обнулить, либо обнулять при первом обращении, или любой другой способ, чтоб избежать ошибки.

Как это можно реализовать? ... хотя бы общие идеи?

Спасибо.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.09.2025, 20:11
Ответы с готовыми решениями:

нужно решить задачу в ассемблере с комментами , срочно!
1. В регистр BL записать число EF, в ячейку со смещением 20 записать число 2A. Из содержимого BL...

Помогите решить задачу алгоритм есть
Дана блок-схема алгоритма обработки двумерного массива. Какова будет сумма элементов массива после...

Помогите решить задачу пожалуйста!!!
Элементы 3 строки поменять на минимальный элемент главной диагонали (матрица 4*4). Нужно составит...

98
2 / 1 / 1
Регистрация: 15.09.2025
Сообщений: 49
17.09.2025, 15:53  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Shamil1 Посмотреть сообщение
Вариант 1.
Вариант 2.
Вариант 3.
Спасибо. По теме и грамотно.
Как глоток свежего воздуха, по сравнению ... предыдущие 3 страницы обсуждалась личность ТС, даже не ожидал, что м.б. иначе.
-----
P.S. не вижу кнопки +1. А ... если нажму "лучший ответ" тема не закроется?
Пока закрывать не хочу.
0
110 / 74 / 6
Регистрация: 08.08.2025
Сообщений: 716
17.09.2025, 15:56
Цитата Сообщение от Shamil1 Посмотреть сообщение
Вопрос был про указатели на удалённые объекты
Откуда эти указатели берутся ? Кто-то их создал и они не связаны ни с чем, так получается. Значит их вручную надо удалять, чтобы не висели, хозяин должен быть известен, так что здесь или кривой код или левые действия, что маловероятно, но кто же знает, что ТС придумал и не говорит про эти указатели.
Мозги компостит ТС, ему это нравится
0
2 / 1 / 1
Регистрация: 15.09.2025
Сообщений: 49
17.09.2025, 16:32  [ТС]
Цитата Сообщение от SmallEvil Посмотреть сообщение
Бесплатно можно только черновики.
Например: Document Number: N4950 (с++23)
C++ Standards Committee Papers
alecss131,
кажется, добрались до стандарта, но никаких RAW pointer в там не найти.
А почему?
-------------
Просто pointer!
Слава б-гу остались вменяемые люди, они сидят в C++ Комитете.
народ, берите с них пример.
0
110 / 74 / 6
Регистрация: 08.08.2025
Сообщений: 716
17.09.2025, 17:01
Цитата Сообщение от JordanO2 Посмотреть сообщение
в C++ Комитете.
Опять уходишь с темы, это снова 2-3 страницы лишних будет.
0
2 / 1 / 1
Регистрация: 15.09.2025
Сообщений: 49
17.09.2025, 18:02  [ТС]
Shamil1,
вопрос по правилам,
в этой теме 6(шесть) последних комментариев от a380 - это оффтопик направленный на обсуждение личности ТС.
Систематический оффтопик(обсуждение ТС, а не subj) разрешен правилами?
---------
Проблема вижу в том, что тема пачкается ненужными коментами, серьезные люди перестанут тут общаться.
Кстати, также он последовал за мной в соседнюю тему, и тоже пачкает...
0
Модератор
Эксперт Java
 Аватар для alecss131
2894 / 1400 / 412
Регистрация: 11.08.2017
Сообщений: 4,482
Записей в блоге: 2
17.09.2025, 21:36
Цитата Сообщение от JordanO2 Посмотреть сообщение
никаких RAW
А вот зачем докапываться до слов? Какое это имеет отношение к теме?
Если в одном контексте используются разные типы указателей, то сырые вполне себе термин. Если используются только сырые, то можно говорить просто указатели. Ведь умные указатели тоже указатели и говоря просто указатели не ясно про какие идет речь
Цитата Сообщение от Shamil1 Посмотреть сообщение
Вопрос был про указатели на удалённые объекты.
Если постоянно натыкаться на них, то надо повышать квалификацию. Это признак плохого кода. А вообще не стоит использовать сырые указатели, когда есть возможность обойтись без них, например умными указателями или контейнерами. В современном С++ есть очень мало ситуаций когда нужно использовать new/delete
0
Windows must die
605 / 878 / 104
Регистрация: 23.11.2021
Сообщений: 5,161
Записей в блоге: 19
17.09.2025, 22:08
Цитата Сообщение от alecss131 Посмотреть сообщение
В современном С++ есть очень мало ситуаций когда нужно использовать new/delete
Неявный new хуже татарина явного! Вот так полезет начинающий с С++ в микроконтроллеры, и будет удивляться непонятному поведению...

Добавлено через 1 минуту
Цитата Сообщение от JordanO2 Посмотреть сообщение
оффтопик направленный на обсуждение личности ТС
Ты опять о себе в третьем лице? А вроде бы, не весна…
Ну и чего удивляться, что твою личность обсуждают?

Добавлено через 7 минут
Цитата Сообщение от JordanO2 Посмотреть сообщение
сидят в C++ Комитете
Забавно, что Страуструп до сих пор в этом комитете. Хотя от настоящего С++, который он придумал, уже почти ничего не осталось.
Вот я вижу, как мой коллега (плюсовик) мучается: каждые год-два читает новый стандарт и переделывает уйму кода под него. И я остаюсь верен С. Там можно хоть на стандарте 89 писать, не парясь! Никакой пакости туда не внедряют (ну, появились всякие генерики и бинарные инклюды - но они особо и не нужны). А вот С++ постоянно ворошат. Там даже до маразма доходит порой, когда сторонние библиотеки в стандарт впихивают! Да и на шаблонах с лямбдами такого можно натворить, что сам, читая через лет пять свой код, ни хрена не поймешь, что же там происходит! Я уж молчу о времени компиляции: мои пара десятков тысяч строк собираются за считанные мгновения, а его несколько сотен - до минуты!!! Я б охренел, если б нужно было после каждого незначительного изменения ждать минуту-другую, пока код соберется! Да ну нафиг!
И хоть мне сильно не хватает наследования, кое-как выкручиваюсь на макросах. Почти вся остальная ООПщина отлично решается на структурах. Главный недостаток - нет this, и это меня расстраивает. Потому как, вызывая из "класса" какую-то функцию, тебе приходится этот же самый класс ей в аргумент передавать. Хоть на макросах этот this реализуй!
0
110 / 74 / 6
Регистрация: 08.08.2025
Сообщений: 716
17.09.2025, 22:32
Цитата Сообщение от JordanO2 Посмотреть сообщение
На объект может ссылаться несколько указателей.
Пусть скажет ТС, откуда они берутся ? Я уже спрашивал, молчит МЫ.
Цитата Сообщение от JordanO2 Посмотреть сообщение
Когда объект удаляется, то указатели не должны превратиться в "висячие"
Почему они вдруг висячие ? Нет ответа от ТС.

Может ТС вирус пишет ? Не знаю, что и думать.
0
2 / 1 / 1
Регистрация: 15.09.2025
Сообщений: 49
18.09.2025, 04:44  [ТС]
Цитата Сообщение от alecss131 Посмотреть сообщение
А вот зачем докапываться до слов? Какое это имеет отношение к теме?
alecss131, хочу извиниться, если выглядело бестактно.
Здесь(в топике) обсуждается технический вопрос, а моя цель - именно докопаться до истины, и с вашей помощью, удалось ближе продвинуться.
Вопрос темы четко, ясно и без изменений описан в топик-посте см. #1
На мой взгляд, решение д.б. очень простым, т.к. это вопрос программирования. Но, грамотные ответы(это сразу выделяется) только от вас и еще другой форумчанин, а остальные 5 страниц, увы, не ожидал, превратились в офтопик: "какой ТС - дурачок, не понимает, что 2+2=3"
На это ТС не реагирует, жаль лишь, что тема пачкается.
0
 Аватар для SmallEvil
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
18.09.2025, 11:53
Цитата Сообщение от JordanO2 Посмотреть сообщение
Вопрос темы четко, ясно и без изменений описан в топик-посте см. #1
Ничего подобного.
Если бы вопрос был сформулирован достаточно понятно, всего этого не было бы.
Это задача ТС грамотно и однозначно описать задачу.
ТС эту задачу (намеренно или случайно) успешно провалил.
И потом оскорбляет других что ему не нравятся ответы.
Это раз.

Два, ответы которые тебя потешили, не несут никакой смысловой и тем более практической информации.
То есть, ты ещё сильнее всё усугубляешь.
В итоге, получаешь то что заслужил.

Добавлено через 2 минуты
Цитата Сообщение от JordanO2 Посмотреть сообщение
alecss131, хочу извиниться, если выглядело бестактно.
Здесь(в топике) обсуждается технический вопрос, а моя цель - именно докопаться до истины, и с вашей помощью, удалось ближе продвинуться.
Вопрос темы четко, ясно и без изменений описан в топик-посте см. #1
На мой взгляд, решение д.б. очень простым, т.к. это вопрос программирования. Но, грамотные ответы(это сразу выделяется) только от вас и еще другой форумчанин, а остальные 5 страниц, увы, не ожидал, превратились в офтопик: "какой ТС - дурачок, не понимает, что 2+2=3"
На это ТС не реагирует, жаль лишь, что тема пачкается.
Вот это всё, дикий оффтоп.
Сколько у тебя таких постов?
Ты же сам разводишь успешно это болото. просто очень тонко. И начал ты это делать ещё в посте #1.

Добавлено через 5 минут
JordanO2, а теперь у этой темы два вероятных исхода.
Так как до сих пор нет ни внятного ТЗ, ни каких то дальнейших логических продвижений(по понятным причинам).
1. Тема будет перенесена в ветку священных войн или другую выгребную яму где и место.
2. Тема будет почищена, и останется просто недоразумение, без задачи, цели и решения.

Нравится?
Мне то одинаково.
Но зато форум с тобой познакомился. Удачи тебе и успехов.
1
Модератор
Эксперт функциональных языков программирования
3140 / 2288 / 469
Регистрация: 26.03.2015
Сообщений: 8,898
18.09.2025, 13:44
Цитата Сообщение от a380 Посмотреть сообщение
Кто-то их создал и они не связаны ни с чем, так получается.
Например, такой код
C#
1
2
3
4
5
6
7
void Main()
{
    var a = new A();
    var b = new B();
    b.A = a;
    DoSomething(a);
}
У нас внезапно три указателя на объект А.
0
Модератор
Эксперт функциональных языков программирования
3140 / 2288 / 469
Регистрация: 26.03.2015
Сообщений: 8,898
18.09.2025, 13:48
Цитата Сообщение от JordanO2 Посмотреть сообщение
вопрос по правилам,
в этой теме 6(шесть) последних комментариев от a380 - это оффтопик направленный на обсуждение личности ТС.
Если Вы считаете, что какое-то сообщение нарушает правила, то нажимайте кнопку "обратить внимание администрации на это сообщение" (с объяснением, что именно не так).

Добавлено через 1 минуту
Цитата Сообщение от JordanO2 Посмотреть сообщение
А ... если нажму "лучший ответ" тема не закроется?
Не закроется.
1
2 / 1 / 1
Регистрация: 15.09.2025
Сообщений: 49
18.09.2025, 15:31  [ТС]
Цитата Сообщение от SmallEvil Посмотреть сообщение
Это задача ТС грамотно и однозначно описать задачу.
ТС эту задачу (намеренно или случайно) успешно провалил.
...
Но зато форум с тобой познакомился.
Я все понял. не надо дальнейших репрессий.
И, все в порядке, я - нормальный, просто так давно не был на форуме, что форум забыл мой акк(пишет, мы не помним такого), и пришлось создавать новый акк(этот).
А первый блин обязан быть комом, и, кстати, необходимая информация, чтоб скорректировать модель поведения.
---------
P.S.
Пишу блог по IT, разработке AI, соцсетям, с интересными историями и картинками ... на другом ресурсе.
0
1977 / 833 / 115
Регистрация: 01.10.2012
Сообщений: 5,108
Записей в блоге: 2
18.09.2025, 15:37
Лучший ответ Сообщение было отмечено JordanO2 как решение

Решение

Цитата Сообщение от JordanO2 Посмотреть сообщение
На объект может ссылаться несколько указателей. Когда объект удаляется, то указатели не должны превратиться в "висячие". Их надо либо сразу обнулить, либо обнулять при первом обращении, или любой другой способ, чтоб избежать ошибки.
Как это можно реализовать? ... хотя бы общие идеи?
Это вещь "общая", а значит она давно реализована. Необязательно "хорошо", мол, "вопрос закрыт", но примеры реализации есть. Стоит посмотреть напр исходники QPointer из фреймворка Qt. Там просто объект содержит контейнер guard'ов (QPointer'ов что ссылаются на него) и в деструкторе обнуляет их. Ясно что это далеко не бесплатно, во всех смыслах. Это наводит на мысль что никаких находок/открытий здесь не будет, и месить эту тему особо не стоит
1
Эксперт .NET
 Аватар для Usaga
14367 / 9468 / 1360
Регистрация: 21.01.2016
Сообщений: 35,719
18.09.2025, 16:34
Цитата Сообщение от SmallEvil Посмотреть сообщение
Наверное просто так там блоки using, финализаторы и ещё куча, чего я не знаю, разработано именно для этих целей.
Нет, не просто так. Но те же финализаторы вещь не то, чтобы сильно часто используемая. А using больше используется для логического ограничения области действия чего-то, нежели про освобождение ресурсов в помощь GC.

Это со стороны может так казаться, что это всё как-то сильно про уборку "мусора".
0
1977 / 833 / 115
Регистрация: 01.10.2012
Сообщений: 5,108
Записей в блоге: 2
18.09.2025, 17:28
Цитата Сообщение от Igor3D Посмотреть сообщение
На объект может ссылаться несколько указателей. Когда объект удаляется,
Кстати, удаление target'а - лишь одна из проблем в ситуации "один объект ссылается на другой" (хранит указатель).
0
2 / 1 / 1
Регистрация: 15.09.2025
Сообщений: 49
18.09.2025, 17:28  [ТС]
Цитата Сообщение от Igor3D Посмотреть сообщение
Это вещь "общая", а значит она давно реализована.
...
Стоит посмотреть напр исходники QPointer из фреймворка Qt.
Igor3D,
вы так с ходу показали верное направление, ... я лишь на 3й день додумался, создал тему про C++ стандарты. Мой ход рассуждения такой:
-> проблема классическая, значит давно решена(это weak указатели, подвид smart-ов)
-> решений полно, но лучший вариант надо смотреть у умных людей
-> умные люди(страуструпы) сидят в C++ комитете
-> C++ комитет публикует Стандарт на ЯП
-> Стандарт ЯП не имел бы практического смысла без стандарта на бекграунд ЯП(библиотеку, ...)
-> в итоге оптимальное решение нашей задачи ищется в листингах Стандарта C++
-------------
Повторюсь, этот тернистый путь я прошел за 3 дня, а Igor3D уже с 1й строки единственного коммента выдал верное решение.
Респект и Спасибо!
-------------
Т.к. вопрос решен, определен лучший ответ, а для меня полезный опыт общения на форуме, только сейчас раскрылся интересный момент, оказывается, на Игоря(его ник) в теме ссылались, но я не уделил внимания и вообще не понял, там был "плохой" контекст...
А столько времени сэкономилось бы..
0
1977 / 833 / 115
Регистрация: 01.10.2012
Сообщений: 5,108
Записей в блоге: 2
18.09.2025, 18:13
Ну может и не стоит искать тернистых путей Я интересовался подобными вещами, но в более широком плане, см мою тему "Член указатель" в этом разделе. Увы, и там много "ненужных эмоций", но это проблема любого форума (живое общение и все такое)
0
 Аватар для SmallEvil
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
18.09.2025, 18:47
Цитата Сообщение от JordanO2 Посмотреть сообщение
вы так с ходу показали верное направление, ... я лишь на 3й день додумался,
Ну да, после трех страниц пыток ТС-а что же он ищет, не знает что.
Потому что не читаешь ни разу ничего.

Добавлено через 6 минут
Цитата Сообщение от JordanO2 Посмотреть сообщение
без стандарта на бекграунд ЯП(библиотеку, ...)
Нет никакого стандарта на бекграунд.
И хватит нести свои оценки кто умный а кто нет.
Цитата Сообщение от JordanO2 Посмотреть сообщение
И, все в порядке, я - нормальный
Ни разу не похоже.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.09.2025, 18:47

помогите определить по какому алгоритму решить задачу
суть задачи состоит в том,что: есть 4 поля размерами 120га,95га,110га,140га..мне требуется...

Помогите решить задачу. Как расставить овец?
Не буду грузить техническими терминами типа 'смена ассортимента','конвеер'. Короче.. Волк с лисой...

Помогите решить задачу.
ПООМГИТЕ у меня завтра зачёт!!!! Короче такое вот заданеи: При решении данной задачи...

Помоготе решить задачу
Составить программу, которая выводит минимальное количество гирь, необходимых для взвешивания...

Помогите решить задачу по архитектуре ЭВМ
решите пожалуйста задачу x = (a*3+b*c)/(b-4) Пример x=(a*2+b*c)/(d-3) программа выполняет...


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

Или воспользуйтесь поиском по форуму:
99
Ответ Создать тему
Новые блоги и статьи
Решил проблему с ошибкой пагинации сообщений с сервера на алгоритме обхода дерева "Эстафета хвоста".
Hrethgir 12.07.2026
Проблема была в том, что удалялась именно новая кнопка, а не старая. Ни один ИИ не обнаружил это, а сам я смог только когда с работой стало попроще и когда заставил работать будущее автономное. . .
сукцессия 25. Хронология ошибок
anaschu 12.07.2026
# От 50-тонного гриба до устойчивого леса: хроника ошибок при построении модели вековой сукцессии микоризы ## О чём эта статья В процессе построения ОДУ-модели (система дифференциальных. . .
сукцессия 24. Промежуточное общее описание модели
anaschu 12.07.2026
Хендофф: модель АМ→ЭКМ сукцессии микоризы (ризосфера, 50 лет) Содержание проекта Симуляция вековой (50 лет) экологической сукцессии в почве леса Основные участники: АМ-гриб, ЭКМ-гриб,. . .
сукцессия 23. Более физиологичная физиология, более экологичная экология, более диффурные диффуры.
anaschu 12.07.2026
Что реально нашли и починили за эти 5 часов Правило Линдемана (КПД конверсии сахара в тело, kEff) — раньше 100% полученного углерода шло прямо в биомассу гриба; теперь только kEff=0. 5 (после. . .
сукцессия 22. От артефактов к физиологии: калибровка агентной модели грибной сукцессии для воспроизведения сезонной динамики и pH-плато
anaschu 11.07.2026
Аннотация В данной работе представлена калибровка агентной модели динамики грибных сообществ (fungal-succession), направленная на устранение нефизичных артефактов (коллапс биомассы, мгновенное. . .
Сукцессия 20. Война автоботов. Делаем ставки. Лёд против "пш-пш!".
anaschu 11.07.2026
Битва ИИ в ризосфере: Как мы скрестили жесткие ОДУ, закон Фика и «подземный шантаж» Уважаемые коллеги! Хочу поделиться уникальным опытом ведения междисциплинарной компьютерной разработки. Прямо. . .
Сукцессия 19. Какие выводы я сделал из модели? Часть 2.Внутримикоризный стехиометрический буфер и хроно-дискретные зоны экспансии
anaschu 11.07.2026
Био-Инженерный Ликбез: Архитектура Модели Ризосферы Математический аппарат моделирования
Сукцессия 18. Какие выводы я сделал из войны грибов с деревьями? Часть 1- рассказ и немного про термины
anaschu 11.07.2026
Био-Инженерный Ликбез: Архитектура Модели Ризосферы Математический аппарат моделирования Система ОДУ описывает динамику изменения массы различных компонентов системы во времени. Ключевой. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru