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

А как можно совместить RAII подход к освобождению ресурсов в

деструктрое в C++ ?

42 ответов

20 просмотров

Совместить с чем?

Антон-😇 Автор вопроса
Kirill Bolshakov
Совместить с чем?

Ну не писать же мне в деструкторе delete this; Не понимаю просто этого

Антон 😇
Стринг освободить

Стринг сам освобождается

Антон-😇 Автор вопроса
Kirill Bolshakov
Стринг сам освобождается

Точно ? Это значимый тип в С++ ? Неужели я что-то забыл

Антон 😇
Точно ? Это значимый тип в С++ ? Неужели я что-то ...

нет просто это класс у которого есть свой деструктор который сам освобождает ресурсы

Антон 😇
Точно ? Это значимый тип в С++ ? Неужели я что-то ...

Писать delete this в деструкторе - это бред. Бо delete this сам вызывает деструктор

Антон-😇 Автор вопроса
Serhii Herashchenko
Писать delete this в деструкторе - это бред. Бо de...

Понял, спасибо. Тогда если у меня есть класс, в котором всего навсего один стринг и один инт как поле. Когда он выйдет из зоны видимости, то оно все само удалится ?

Антон 😇
Понял, спасибо. Тогда если у меня есть класс, в к...

Ну да, вызовутся деструкторы всех членов класса

Антон-😇 Автор вопроса
Serhii Herashchenko
Ну да, вызовутся деструкторы всех членов класса

Но что-то я совсе перестал понимать, для чего тогда освобождть память. Если все уже сделано на автомате. К многим классам же используется delete. Но ведь большинство в себе содержат примитивные типы. А значит в чем смысл ?

Антон 😇
Но что-то я совсе перестал понимать, для чего тогд...

Ну память, которую ты выделил не освобождается сама

Антон-😇 Автор вопроса
Serhii Herashchenko
Ну память, которую ты выделил не освобождается сам...

Ага. Значит поля класса примитивных типов сами освободятся, но не сам экземпляр класса и память под него. И как тогда здесь реализовать RAII подход с деструктором ?

Антон 😇
Но что-то я совсе перестал понимать, для чего тогд...

>К многим классам же используется delete Ниразу за два года не заиспользовал delete

Антон 😇
Ага. Значит поля класса примитивных типов сами осв...

> И как тогда здесь реализовать RAII подход с деструктором ? Не писать деструктор вообще

Danya🔥
Еретик

какой еретик? high end C++ programmer

Антон-😇 Автор вопроса
Антон 😇
Ты мне прям голову сломал.. Ладно..

Вот скажи зачем ты используешь new и delete?

Danya🔥
Вот скажи зачем ты используешь new и delete?

Может человек не знает как по другому. Или опять наводящие вопросы?

Антон 😇
Ты мне прям голову сломал.. Ладно..

это придет со временем) после c++11 самому деструкторы писать приходится в случае, если как-то низкоуровневым ресурсом собираешься управлять, и то, даже в этом случае можно кастомный delete передать unique_ptr

Антон-😇 Автор вопроса
Danya🔥
Вот скажи зачем ты используешь new и delete?

Чтобы создавать и удалять ссылочные типы

С чем совместить?

Антон-😇 Автор вопроса
Антон 😇
Типы хранимые в куче

А какие типы не хранимы в куче?

Антон 😇
Значимые

Ты в С++, зачем ты терминологию свою придумал?

Антон-😇 Автор вопроса
Danya🔥
У нас таких типов нет

То есть обычный массив, и массив new одинаковые?)

Антон-😇 Автор вопроса
Антон-😇 Автор вопроса
Danya🔥
std::vector

Я знаю. Но можно же создать динамический массив и без контейнера стл

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта