0 / 0 / 1
Регистрация: 29.07.2009
Сообщений: 119
|
|||||||||||
Как правильно организовать удаление объекта по указателю?04.10.2010, 22:55. Показов 12237. Ответов 13
Метки нет Все метки)
(
Конечно тема избитая, и я находил много решений, но проверить удаляються ли объекты не могу.
Есть массив указателей на объекты
В программе создаются объекты и указатели присваиваются элементам массива
0
|
04.10.2010, 22:55 | |
Ответы с готовыми решениями:
13
Удаление объекта по указателю Как правильно организовать "мягкое удаление" ?
|
![]() ![]() |
|
04.10.2010, 23:40 | |
AlexRyzhenko, есть мнение, что лучше пользоваться умными указателями.
0
|
бжни
![]() 2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
|
||||||
05.10.2010, 15:15 | ||||||
0
|
0 / 0 / 1
Регистрация: 29.07.2009
Сообщений: 119
|
||||||||||||||||
05.10.2010, 17:48 [ТС] | ||||||||||||||||
Если в классе Record есть метод удаления объекта
0
|
![]() ![]() 5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
|
05.10.2010, 18:02 | |
AlexRyzhenko, все дело в том, что если ты передаешь объект по указателю, ты не можешь менять сам указатель, ты можешь менять только объект, на который он указывает. Поэтому, чтобы изменить сам указатель (т.е. освободить память, выделенную указателю), нужно передавать адрес указателя (как у тебя второй способ - Record **rec), либо ссылку на указатель (Record *&rec)
1
|
901 / 478 / 93
Регистрация: 10.06.2014
Сообщений: 2,700
|
|
27.06.2017, 22:28 | |
NSXfl,
Ну и древнюю тему вы подняли. Указатель - переменная которая содержит адрес обьекта (говоря абстрактно) в памяти В вашем случае время жизни переменной p ограничено временем жизни тела цикла for (на каждую итерацию - свой указатель)
0
|
Любитель чаепитий
![]() |
|
28.06.2017, 05:46 | |
0
|
Велосипедист...
![]() 353 / 220 / 73
Регистрация: 15.12.2015
Сообщений: 785
|
||||||
28.06.2017, 22:29 | ||||||
NSXfl,
T -- type ( какой-то тип данных )
0
|
Велосипедист...
![]() 353 / 220 / 73
Регистрация: 15.12.2015
Сообщений: 785
|
|
28.06.2017, 22:57 | |
NSXfl,
Синим отмечена занятая память на стеке; Оранжевым -- занятая память в куче; Желтым -- память, которую мы выделяем; Серым -- свободная ( незанятая ) память. Стрелочка -- куда указывает указатель. Не по теме: Не ругайте :D
0
|
28.06.2017, 22:57 | |
Помогаю со студенческими работами здесь
14
Как правильно обратиться к объекту формы по текстовому указателю на его Name
Как правильно вызывать функцию объекта из другой функции того же объекта?
Привязка объекта к указателю Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Опции темы | |
|
Новые блоги и статьи
![]() |
||||
Согласованность транзакций в MongoDB
Codd 30.04.2025
MongoDB, начинавшая свой путь как классическая NoSQL система с акцентом на гибкость и масштабируемость, сильно спрогрессировала, включив в свой арсенал поддержку транзакционной согласованности. Это. . .
|
Продвинутый ввод-вывод в Java: NIO, NIO.2 и асинхронный I/O
Javaican 30.04.2025
Когда речь заходит о вводе-выводе в Java, классический пакет java. io долгие годы был единственным вариантом для разработчиков, но его ограничения становились всё очевиднее с ростом требований к. . .
|
Обнаружение объектов в реальном времени на Python с YOLO и OpenCV
AI_Generated 29.04.2025
Компьютерное зрение — одна из самых динамично развивающихся областей искусственного интеллекта. В нашем мире, где визуальная информация стала доминирующим способом коммуникации, способность машин. . .
|
Эффективные парсеры и токенизаторы строк на C#
UnmanagedCoder 29.04.2025
Обработка текстовых данных — частая задача в программировании, с которой сталкивается почти каждый разработчик. Парсеры и токенизаторы составляют основу множества современных приложений: от. . .
|
C++ в XXI веке - Эволюция языка и взгляд Бьярне Страуструпа
bytestream 29.04.2025
C++ существует уже более 45 лет с момента его первоначальной концепции. Как и было задумано, он эволюционировал, отвечая на новые вызовы, но многие разработчики продолжают использовать C++ так, будто. . .
|
Слабые указатели в Go: управление памятью и предотвращение утечек ресурсов
golander 29.04.2025
Управление памятью — один из краеугольных камней разработки высоконагруженных приложений. Го (Go) занимает уникальную нишу в этом вопросе, предоставляя разработчикам автоматическое управление памятью. . .
|
Разработка кастомных расширений для компилятора C++
NullReferenced 29.04.2025
Создание кастомных расширений для компиляторов C++ — инструмент оптимизации кода, внедрения новых языковых функций и автоматизации задач. Многие разработчики недооценивают гибкость современных. . .
|
Гайд по обработке исключений в C#
stackOverflow 29.04.2025
Разработка надёжного программного обеспечения невозможна без грамотной обработки исключительных ситуаций. Любая программа, независимо от её размера и сложности, может столкнуться с непредвиденными. . .
|
Создаем RESTful API с Laravel
Jason-Webb 28.04.2025
REST (Representational State Transfer) — это архитектурный стиль, который определяет набор принципов для создания веб-сервисов. Этот подход к построению API стал стандартом де-факто в современной. . .
|
Дженерики в C# - продвинутые техники
stackOverflow 28.04.2025
История дженериков началась с простой идеи — создать механизм для разработки типобезопасного кода без потери производительности. До их появления программисты использовали неуклюжие преобразования. . .
|