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

Объясните пожалуйста, если бросить исключение в конструкторе, объект будет неполного

типа, деструктор не вызывается, как происходит очистка памяти? А то везде написано ,что утечки не будет, но как память очищается? Где можно почитать?

9 ответов

5 просмотров

просто так не делай и всё. Все плохо будет

Деструктора не будет.

Вызовется деструктор у каждого поля

Деструктор объекта вызван не будет, все что будет выделено динамически = мемори лик

Igor Nazarov
Деструктор объекта вызван не будет, все что будет ...

Если хотя бы один конструктор отработал, то будет

поэтому нужно использовать умные указатели, а не new. Потому что они - объекты, и у них свой деструктор

размотка стека уничтожает объекты

Sergey- Автор вопроса
Ivan Sokolov
размотка стека уничтожает объекты

То есть бросать исключения в конструкторах можно? Это практикуется?

Sergey
То есть бросать исключения в конструкторах можно? ...

это единственный способ избежать создания объекта, если мы уже в конструкторе любой другой способ выйти из конструктора (ну, он один) предполагает, что объект создан и готов к работе

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

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

Если у меня есть такой класс: Object = {} function Object:new(a_name, a_transform, a_color, a_mesh, a_material, a_shader, a_textures) local private = {} private.n...
Cuarno Vile
4
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Гайз, кто-нибудь пробовал запустить probe-rs под камень, которого нет в probe-rs? Мб есть какой-нибудь пример у кого... Через target-gen попробовал сгенерировать chip-descript...
Максим Смирнов
2
зачем же переименовывать ? чтобы кол-во участников возросло или вдруг IBM от этого снова на свифте начнет кодить ? Я не понимаю что страшного в том что свифт гавно, если это т...
Oleh Nerzh
10
здравствуйте. совершаю вот такую вещь: strcpy(line, (char)current_number); где current number — неподписанный шорт, line — массив чаров. ругань следующая: main.c:29:30: error...
Roberto's Ширгозиев
13
@MrMiscipitlick А можешь макрос написать, который будет вычислять смещение относительно переданных меток? Просто .label1-.label2, и вернуть значение.
КТ315
35
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
Добрый день! Подскажите, пожалуйста: какими компетенциями нужно обладать, чтобы претендовать на работу эрланг (отдельная благодарность, если про элексир тоже подскажете) разр...
via ☸️ led
20
Всем привет. Ребят подскажите пожалуйста. Вопрос по дизасемблировани. Начну с начала. У меня есть скомпилированная программа на ГО (я разработчик) - в ней есть защита лицензии...
Zloy
11
Можно попросить небольшое ревью кода? Тут немнога, я ничего интереснее не придумал, чем написать аналог tree в качестве практики с cmake. https://github.com/hrimov/tree-unix/...
Andrew Hrimov
11
Карта сайта