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

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

15.09.2025, 20:11. Показов 5105. Ответов 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
16.09.2025, 08:52  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от SmallEvil Посмотреть сообщение
Это в какую яму самый легкий путь?
Это и есть вопрос темы: "Какой вариант решения выбрать?"
0
 Аватар для SmallEvil
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
16.09.2025, 08:59
Ну и не могу не вспомнить тут про С#.
Вот там живут твои указатели которые не указатели, и там есть система сборщика мусора, который "за тебя пальцы загибает".
И там люди с этим воюют, что бы всё создавалось и освобождалось в определенное для них время.

Добавлено через 2 минуты
Цитата Сообщение от JordanO2 Посмотреть сообщение
Это и есть вопрос темы: "Какой вариант решения выбрать?"
Это очень сильно зависит от задачи. Насколько много времени хочешь потратить и на какую цену согласен.
В любом случае - это будет дополнительный (а может и очень много) уровень абстракции.
Но проблема всё равно останется в общем случае.
Решение только новый ЯП без указателей как таковых.
0
Эксперт .NET
 Аватар для Usaga
14368 / 9469 / 1360
Регистрация: 21.01.2016
Сообщений: 35,727
16.09.2025, 09:01
Цитата Сообщение от SmallEvil Посмотреть сообщение
И там люди с этим воюют, что бы всё создавалось и освобождалось в определенное для них время.
Да не воюем мы с этим в C#. Нам не нужны прогнозируемые задержки от GC в подавляющем большинстве рабочих сценариев.
0
 Аватар для SmallEvil
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
16.09.2025, 09:03
Цитата Сообщение от Usaga Посмотреть сообщение
Да не воюем мы с этим в C#.
Ну не знаю.
Из того что я вижу, ещё как воюете.
0
Windows must die
605 / 878 / 104
Регистрация: 23.11.2021
Сообщений: 5,162
Записей в блоге: 19
16.09.2025, 09:03
Подозреваю, если ТСу предложить rust, то первое, что он сделает - войдет в "небезопасный режим" глобально ☺
Кто-то выше уже говорил, что подобные глупые идеи приходят в голову лишь новичкам. Авось, если ТС хотя бы лет пять активно попишет на С, поймет, что все и так прекрасно. Нужно лишь быть аккуратным.
Хотя… Я как-то запилил себе макросы-обертки над free и alloc, чтобы найти утечку (каждую секунду у меня утекало около сотни-другой байт; утилита работает в 16-64 потока, так что, единственный способ - логгировать аллокаторы и "удаляторы", а затем баш-скриптом этот выхлоп анализировать).

Что до до-диеза, ничего не скажу, ведь я — не вендовоз. Это их надо спрашивать.
0
2 / 1 / 1
Регистрация: 15.09.2025
Сообщений: 49
16.09.2025, 09:39  [ТС]
Цитата Сообщение от Eddy_Em Посмотреть сообщение
если ТСу предложить rust,
кажется понятно...

Цитата Сообщение от JordanO2 Посмотреть сообщение
Решить проблему висячих указателей
... а тут модератор есть?
Как исправить заголовок темы? Надо заменить слово "проблему" на "задачу".
------------
т.к. ТС решает простую задачу, и никаких проблем это не вызывает. А все советуют: меняй язык программирования, меняй религию, меняй гражданство ... юмор сплошной.
0
Windows must die
605 / 878 / 104
Регистрация: 23.11.2021
Сообщений: 5,162
Записей в блоге: 19
16.09.2025, 09:47
Цитата Сообщение от JordanO2 Посмотреть сообщение
ТС решает простую задачу, и никаких проблем это не вызывает.
Не вижу здесь простой задачи. Кстати, ты до сих пор не указал, что за ЯП используешь. А это имеет значение.
Как уже говорилось, в С без "своего компилятора" эта задача неразрешима. В С++ уже все нужное есть, только не пользуйся "обычными" указателями. В rust тоже все есть, только не отключай безопасность.
Вроде бы все самые популярные ЯП, где могут быть указатели (и от которых меня не тошнит), назвал.
0
2 / 1 / 1
Регистрация: 15.09.2025
Сообщений: 49
16.09.2025, 10:07  [ТС]
Цитата Сообщение от Eddy_Em Посмотреть сообщение
Не вижу здесь простой задачи (1).
Кстати, ты до сих пор не указал, что за ЯП используешь (2).
1 и 2 см. тут в посте #15
0
Эксперт .NET
 Аватар для Usaga
14368 / 9469 / 1360
Регистрация: 21.01.2016
Сообщений: 35,727
16.09.2025, 10:41
Цитата Сообщение от SmallEvil Посмотреть сообщение
Из того что я вижу, ещё как воюете.
Может ты какой-то специфичный кейс видишь. Просто в таких случаях разумнее взять язык без GC, чем фигнёй заниматься.

Цитата Сообщение от JordanO2 Посмотреть сообщение
т.к. ТС решает простую задачу, и никаких проблем это не вызывает.
Настолько не вызывает, что ты её не можешь решить?)
0
2 / 1 / 1
Регистрация: 15.09.2025
Сообщений: 49
16.09.2025, 10:45  [ТС]
Цитата Сообщение от Usaga Посмотреть сообщение
ты её не можешь решить?)
см. тут в посте #15
0
Эксперт .NET
 Аватар для Usaga
14368 / 9469 / 1360
Регистрация: 21.01.2016
Сообщений: 35,727
16.09.2025, 10:55
JordanO2, так а где там решение? Массив для обратного связывания?

Если нужна целостность ссылочная\указательная, то надо брать язык, где это реализовано. А в Си этого нет. Ты можешь только костыли делать. При этом ты вроде как сам понимаешь, что это костыли.
0
110 / 74 / 6
Регистрация: 08.08.2025
Сообщений: 716
16.09.2025, 11:43
Цитата Сообщение от JordanO2 Посмотреть сообщение
Увы, но счетчики никак не помогут
Сформулируй, что хочешь, пока вопрос только про указатели. И какой-то объект. Рецепт я дал.
Откуда вообще эти указатели берутся и почему они висячие ?
Поясни задачу конкретную. Пока разговор про общее идет.
0
2 / 1 / 1
Регистрация: 15.09.2025
Сообщений: 49
16.09.2025, 13:18  [ТС]
Цитата Сообщение от a380 Посмотреть сообщение
Сформулируй, что хочешь,
Мне казалось, что топик-пост формулирует задачу.
Жаль, если не так... уже 2я страница офтопика пошла...
0
110 / 74 / 6
Регистрация: 08.08.2025
Сообщений: 716
16.09.2025, 13:27
Цитата Сообщение от JordanO2 Посмотреть сообщение
На объект может ссылаться несколько указателей.
Как называется объект ?
Кто формирует указатели на объект ?
0
2 / 1 / 1
Регистрация: 15.09.2025
Сообщений: 49
16.09.2025, 13:44  [ТС]
Цитата Сообщение от a380 Посмотреть сообщение
Как называется объект ?
Кто формирует указатели на объект ?
Все стандартное и обычное:
* Объект - это объект (инстанс, созданный из класса)
* Указатели мы сами и формируем
0
110 / 74 / 6
Регистрация: 08.08.2025
Сообщений: 716
16.09.2025, 14:11
Цитата Сообщение от JordanO2 Посмотреть сообщение
Все стандартное и обычное:
Тогда алгоритм такой.
Указатели формируем.
Потом удаляем.
Все просто.

Добавлено через 22 минуты
JordanO2,
Если указатели зависли, это называется утечка памяти. Возникает оттого, что нет проверки на ошибки. Или они есть, но не все проверяется, что то забыл.
Тестишь так- везде втыкаешь проверку общей памяти. А как иначе ? Твой косяк, сам исправляй, где не сработало.

Добавлено через 2 минуты
Цитата Сообщение от JordanO2 Посмотреть сообщение
Указатели мы сами и формируем
Супер информация.
Мы, это кто ? Как формируем ?
0
 Аватар для SmallEvil
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
16.09.2025, 15:59
Цитата Сообщение от Usaga Посмотреть сообщение
Может ты какой-то специфичный кейс видишь. Просто в таких случаях разумнее взять язык без GC, чем фигнёй заниматься.
Я затронул более широкую тему про объекты, чем просто про сборку
"мусора".
Я и про очередность создания удаления объектов и так же срок их жизни.
Наверное просто так там блоки using, финализаторы и ещё куча, чего я не знаю, разработано именно для этих целей.
Это, впрочем относится и к другим ЯП, так или иначе, но в C#, это на уровне ЯП, так как и сборщик мусора и создание/удаление объектов так же на уровне ЯП.

JordanO2,
А ТС у нас в третьем числе? Это типа что бы не писать "я"? Хм. До чего воспитание дошло.
Наводящий вопрос, тебе не нужно все указатели переделать, а лишь на своем участке кода?
Тогда можно обойтись и своими костылями. И если есть классы, то создать умные указатели. Реализации и практики открыты в исходных листингах, описаны в учебниках и статьях по умных указателях.
Удачи ТС-у.

Добавлено через 7 минут
Цитата Сообщение от JordanO2 Посмотреть сообщение
уже 2я страница офтопика пошла...
Наверняка ТС это сделал не нарочно, но получилось что получилось.
Тема из топика "Шутки юмора".
0
16.09.2025, 16:04

Не по теме:

Цитата Сообщение от JordanO2 Посмотреть сообщение
Указатели мы сами и формируем
ТС, чего это ты о себе то в третьем лице, то во множественном числе? Корона не жмет?

0
2 / 1 / 1
Регистрация: 15.09.2025
Сообщений: 49
16.09.2025, 16:47  [ТС]
Цитата Сообщение от SmallEvil Посмотреть сообщение
тебе не нужно все указатели переделать, а лишь на своем участке кода?
Интересно, как вообще могла появиться мысль про "все указатели переделать" ?
для java и # простительно, там по принуждению все указатели смарт. Но, в теме же есть C++ программисты ... неужели они боятся классических указателей?

Цитата Сообщение от SmallEvil Посмотреть сообщение
описаны в учебниках и статьях по умных указателях.
Вот, я тему создал, чтоб узнать идею, намек, ... ну, хотя бы ссылку. Наблюдаем две страницы оффтопика, и обсуждения личности ТС ...
И даже тут косячат("мы" - это первое лицо, не третье)
0
Модератор
Эксперт Java
 Аватар для alecss131
2894 / 1400 / 412
Регистрация: 11.08.2017
Сообщений: 4,482
Записей в блоге: 2
16.09.2025, 16:54
Цитата Сообщение от JordanO2 Посмотреть сообщение
неужели они боятся классических указателей?
Просто сырые указатели это прошлый век, современные языки (включая С++) отходят от них. В плюсах это не только smart pointers,а так же контейнеры (например vector). Это куда удобнее, не нужно забивать голову освобождением памяти.
Это как минимум не удобно.
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.09.2025, 16:54

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Знаете, от чего появляется стресс?
kumehtar 15.07.2026
Стресс появляется оттого, что вы, зная как поступить правильно, делаете наоборот. Ларри Уингет
Нас бьют, а мы крепчаем? Какая чушь!
kumehtar 15.07.2026
Вот это вот бытующее мнение, что человек меняется только под действием проблем, всегда считал вредоносным. Поверь, от проблем у людей появляются не изменения, а нервное расстройство и ПТСР. А. . .
сукцессия 29. Переход от одних деревьев на другие делать более или менее вероятностным?
anaschu 12.07.2026
Насколько смена типов микоризы — исключительное событие в двухвековой сукцессии? Оценка вероятности в пространстве параметров В текущей версии модели успешно реализован ключевой механизм. . .
сукцессия 27. Думаю, как переделывать уже написанную статью с планами на сукцессию.
anaschu 12.07.2026
Анализ соответствия модели требованиям Реализованные компоненты: Механизм закисления почвы через протонную помпу Конкуренция между типами микориз pH как триггер сукцессии C/ P соотношение. . .
Сукцессия 26. Мат модель создана.
anaschu 12.07.2026
Модель смены растительных сукцессий посредством управления грибами работает внутри небольшой ячейки почвы, восстанавливающейся после пожара, где ненадолго бывшее царство хвойных снова захватили. . .
Решил проблему с ошибкой пагинации сообщений с сервера на алгоритме обхода дерева "Эстафета хвоста".
Hrethgir 12.07.2026
Проблема была в том, что удалялась именно новая кнопка, а не старая. Ни один ИИ не обнаружил это, а сам я смог только когда с работой стало попроще и когда заставил работать будущее автономное. . .
сукцессия 25. Хронология ошибок
anaschu 12.07.2026
# От 50-тонного гриба до устойчивого леса: хроника ошибок при построении модели вековой сукцессии микоризы ## О чём эта статья В процессе построения ОДУ-модели (система дифференциальных. . .
сукцессия 24. Промежуточное общее описание модели
anaschu 12.07.2026
Хендофф: модель АМ→ЭКМ сукцессии микоризы (ризосфера, 50 лет) Содержание проекта Симуляция вековой (50 лет) экологической сукцессии в почве леса Основные участники: АМ-гриб, ЭКМ-гриб,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru