170 похожих чатов

Деаллоцирование памяти объекта ним самим в его деструкторе это ж

уб?

19 ответов

16 просмотров

delete this? Это страшная и ужасная вещь. Если объект не в динамической памяти, то это уб

Georgy Firsov
delete this? Это страшная и ужасная вещь. Если объ...

речь видимо про некий аллокатор на себя же и вызов деаллокейт себя

Нет

Ilya Zviagin
Нет

и где же будет исполняться деструктор типа от которого ты наследовался?

Только не в деструкторе ни в коем случае. Это МОЖЕТ БЫТЬ UB если объект не динамический

Деструктор ни в коем случае не для этого

Denys-Khodakov Автор вопроса
Ilya Zviagin
Только не в деструкторе ни в коем случае. Это МОЖЕ...

Я не совсем новичок и такие вещи понимаю )

Denys Khodakov
Я не совсем новичок и такие вещи понимаю )

или пользуйтесь умными указателями и забудьте

Ilya Zviagin
Деструктор ни в коем случае не для этого

Кстати, если я храню объекты какого-либо класса в каком-либо контейнере, то внутреннее методы на удаление деструктором необходимо заменить на внешние для удаления посредствами этого контейнера? Через класс фабрики той же

Ilya Zviagin
Лучше код пришли... Ничего не понятно

Да пока в том и дело, что кода нет... Я всё никак не могу продумать архитектуру, а литературы, даже вводной, слишком много на эту тему

Hvost 🦊♠️
Кстати, если я храню объекты какого-либо класса в ...

1 ) деструктор не удаляет ничего 2) да, надо удалять через методы контейнера, в С++ все контейнеры владеют объектами, хранимыми в них.

Kelbon
ой как двусмысленно то

Всё односмысленно

Hvost 🦊♠️
Вот второе и хотел услышать. Спасибо!

деструктор отвечает за владение ресурсами, будь то выделенная динамическая память, открытый файл или нажатая кнопка

Kelbon
деструктор отвечает за владение ресурсами, будь то...

Нет, деструктор отвечает за деинициализацию объекта, но не за удаление

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
Ребят в СИ можно реализовать ООП?
Николай
33
Вот еще странный косяк, подскажите как бороться. Я git clone сделал себе всего embassy и примеры там запускаю. Всё хорошо. Но вот решил в cargo.toml зависимости не как в приме...
Lukutin R2AJP
2
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Карта сайта