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

А ещё, malloc теперь вызывает конструктор, да?

16 ответов

9 просмотров

нет

O-V Автор вопроса
Vlad
нет

А что изменилось в С++20?

O V
А что изменилось в С++20?

перегруженные деструкторы

O V
А что изменилось в С++20?

malloc вошел в список функций, которые неявно создают объекты. если конструктору твоего объекта ничего не нужно делать (trivially constructible), то malloc создаст объект при выделении памяти

O-V Автор вопроса
Vlad
malloc вошел в список функций, которые неявно созд...

Если привести выделенную им память? То есть конструирует на самом деле каст?

O V
Если привести выделенную им память? То есть констр...

«конструирует» идет не иначе чем в кавычках, потому что это все про типы, конструкторы которых ничего не делают. так-то это изменение по сути закрепляет сложившуюся практику, поэтому сюрпризов быть не должно, по идее если вкратце, то чтобы создать объект, нужно выделить память и вызвать конструктор. с первым malloc справлялся всегда, но до 20 стандарта еще требовался placement new, который бы вызвал конструктор. с 20 стандарта это не требуется для типов с тривиальными конструкторами, что довольно логично

O-V Автор вопроса
Vlad
«конструирует» идет не иначе чем в кавычках, потом...

То есть если просто написать T* obj = malloc(sizeof(T)) это сработает?

O V
То есть если просто написать T* obj = malloc(sizeo...

да, если T удовлетворяет требованиям trivially constructible. то есть с интом норм, а с каким-нибудь вектором — нет

O V
То есть если просто написать T* obj = malloc(sizeo...

Это всегда выделяло память под T, но объект может требовать более сложной инициализации, если например владеет указателем

O-V Автор вопроса
Ілля🇺🇦😈 persiKey
перегруженные деструкторы

Тереть можно определять 100500 деструкторов на класс? Prospective кажется так называется.

Danya🔥
https://youtu.be/A3_xrqr5Kdw

Вот бы он в названии написал, что не multiple destructors, а conditional destructor

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
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
Карта сайта