|
187 / 180 / 25
Регистрация: 27.01.2012
Сообщений: 1,335
|
|||||||||||
Как удалить объект, который это попросил?13.06.2014, 14:43. Показов 2090. Ответов 24
Метки нет (Все метки)
Сам вопрос возник, когда работал с Qt и их системой signal/slot. Проблема на С++ выглядела бы так:
Есть два объекта: А(асинхронный) и О(ожидающий).
1
|
|||||||||||
| 13.06.2014, 14:43 | |
|
Ответы с готовыми решениями:
24
Есть ссылка на объект. Можно ли изменить объект, который хранится по этому адресу? Что значит константный указатель на объект, указатель на константный объект, и как это можно использовать? this это адресс объекта, а *this это сам объект. я всё правельно понял? |
|
187 / 180 / 25
Регистрация: 27.01.2012
Сообщений: 1,335
|
||||||
| 13.06.2014, 20:34 [ТС] | ||||||
|
Tulosba,
Не по теме: почему так лучше не делать? Закинул другому классу указатель на "родителя" Как уже писал выше, умный указатель не поможет. Renji, как вариант, но статический класс ради такого.. Сработает, но выглядит страшно (: Tulosba, опять-таки, разве delete this не UB? Renji, давайте я немного изменю условие. Есть объекты классов А и В, как в примере. ВНЕЗАПНО, появился поток, исполняющий download() класса В, который в конце этого метода перестанет существовать. Как этому потоку, исполняющему метод класса В удалить объект класса В? Как уже писал выше, способ
0
|
||||||
|
|
|
| 13.06.2014, 20:49 | |
|
Да ладно? Где это сказано, что delete this нельзя делать? Если после dеlеtе гарантированно не происходит обращений к полям данного объекта, то вполне можно!
1
|
|
|
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
|
||
| 13.06.2014, 20:50 | ||
1) Убедиться что на него больше никто не ссылается/не ссылался изначально/обнулить все ссылки на объект. 2) Выполнить delete. Один у вас поток или несколько, ничего принципиально не меняется.
0
|
||
|
187 / 180 / 25
Регистрация: 27.01.2012
Сообщений: 1,335
|
|
| 13.06.2014, 21:17 [ТС] | |
|
Kuzia domovenok, примерно с год-два назад здесь и научили меня сторожилы, что нельзя delete this, даже если не происходит ничего после.
0
|
|
|
Ушел с форума
|
|
| 13.06.2014, 21:35 | |
Сообщение было отмечено nexen как решение
Решение
this - это просто указатель на объект класса.
Если this указывает на объект, созданный в динамической памяти, к нему вполне допустимо применять конструкцию "delete this", что эквивалентно "delete ptr_to_object". Ни к каким побочным эффектам или неопределенному поведению это не приведет. Такая конструкция повсеместно используется, например, в COM. Там объект разрушает сам себя, когда его счетчик ссылок становится равным нулю.
1
|
|
| 13.06.2014, 21:35 | |
|
Как в переменную получить объект UI на который направлена мышь?
При попытке создать объект obj=Server.CreateObject('Name.ClassName') Возникает ошибка, 'Объект не поддерживает это свойство или метод.' Как реализовать метод, который превратит любой объект в byte[] ? Как создать объект, который будет известен только в рантайме? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С.
Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
|
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию?
Фраза «Любая достаточно развитая технология неотличима от магии». . .
|
За какое время ИИ может подобрать пароль по хешу (рассказывает Джемени ИИ)
zorxor 30.10.2026
Расскажи, Джемени, если известен хэш МД5, например, за сколько ИИ сможет подобрать соответствующий пароль?
Искусственный интеллект (ИИ) может подобрать простой или средний по сложности пароль по. . .
|
Кто убил Suno? Почему наше солнышко погасло? (диалог с ИИ Джемени)
zorxor 30.10.2026
Как убивали Suno. Хронология.
«Убийство» музыкальной нейросети Suno — это затяжной процесс, в котором технологический хайп стартапа разбился о жесткую реальность судебных исков от гигантов. . .
|
|
Генератор паролей (вариант №2)
Maks 30.10.2026
Обновленная версия ранее созданной обработки.
Добавлены следующие реквизиты типа Булево:
- Буквы;
- Цифры;
- Символы.
Изменена логика команды "Сгенерировать" и процедуры "ПриОткрытии":. . .
|
Генератор паролей (вариант №1)
Maks 29.10.2026
Реализация из решения ниже выполнена исключительно по моей инициативе, дабы облегчить себе работу в создании паролей для администрируемых мною сервисов и пользователей.
Самым главным критерием для. . .
|
Установка ChatGPT (Codex) на Windows без использования Microsoft Store
Fabien159 28.10.2026
Здравствуйте всем читающим! Опишу процесс установки ChatGPT (Codex) на Windows, если по каким-то причинам у вас не получается устанавить его через Microsoft Store.
И так:
1. Скачиваем с. . .
|
Программное добавление префикса в нумерацию документов
Maks 27.10.2026
Реализация из решения ниже выполнена в самописной конфигурации на БСП (помощь начинающему коллеге).
Задача:
Программно добавить префикс в нумерацию документов.
Решение:
В модуле объекта. . .
|