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

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

15.09.2025, 20:11. Показов 5896. Ответов 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
14781 / 9555 / 1366
Регистрация: 21.01.2016
Сообщений: 36,022
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
Нарушитель
445 / 886 / 106
Регистрация: 23.11.2021
Сообщений: 5,204
Записей в блоге: 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
Нарушитель
445 / 886 / 106
Регистрация: 23.11.2021
Сообщений: 5,204
Записей в блоге: 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
14781 / 9555 / 1366
Регистрация: 21.01.2016
Сообщений: 36,022
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
14781 / 9555 / 1366
Регистрация: 21.01.2016
Сообщений: 36,022
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
2900 / 1406 / 412
Регистрация: 11.08.2017
Сообщений: 4,505
Записей в блоге: 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
Ответ Создать тему
Новые блоги и статьи
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
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 и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru