Size: a a a

2020 August 24

VS

Vlad Serebrennikov in supapro.cxx
0xFF
Тривиальный класс, это такой класс, где не нужно ручками писать конструктор?
классы не бывают тривиальными, и значит тривиальность не это. смотите в начало https://t.me/supapro/731119
источник

ПК

Побитый Кирпич... in supapro.cxx
> классы не бывают тривиальными

?
источник

VS

Vlad Serebrennikov in supapro.cxx
Eugene Krasnikov (ᴊɪɴ x)
А какой malloc может быть при default ?
с 20 стандарта создание объекта через malloc является определенным поведением, но только если он тривиально конструируем. если вы оставите пустое тело конструктора {}, то будет неопределенное поведение даже в 20 стандарте
источник

VS

Vlad Serebrennikov in supapro.cxx
Побитый Кирпич
> классы не бывают тривиальными

?
я про то, что они тривиально конструируемы или тривиально разрушаемы
источник

VS

Vlad Serebrennikov in supapro.cxx
или есть тривиальность и применительно к типу в целом?
источник

EK

Eugene Krasnikov (ᴊɪ... in supapro.cxx
Vlad Serebrennikov
с 20 стандарта создание объекта через malloc является определенным поведением, но только если он тривиально конструируем. если вы оставите пустое тело конструктора {}, то будет неопределенное поведение даже в 20 стандарте
Пример можно?
источник

ПК

Побитый Кирпич... in supapro.cxx
Vlad Serebrennikov
или есть тривиальность и применительно к типу в целом?
источник

EK

Eugene Krasnikov (ᴊɪ... in supapro.cxx
А то я что-то не совсем догоняю.
источник

Е

Егор in supapro.cxx
Eugene Krasnikov (ᴊɪɴ x)
Пример можно?
что будет при этом уб не спрашивайте
источник

ПК

Побитый Кирпич... in supapro.cxx
Достаточно тривиальной копируемости и дефолт конструируемости
источник

EK

Eugene Krasnikov (ᴊɪ... in supapro.cxx
Егор
что будет при этом уб не спрашивайте
Да нет, пример, когда будет уб.
источник

ПК

Побитый Кирпич... in supapro.cxx
Eugene Krasnikov (ᴊɪɴ x)
Да нет, пример, когда будет уб.
foo* ub = (foo*)malloc(sizeof(foo));
ub->bar();
источник

o

osm1um in supapro.cxx
Побитый Кирпич
foo* ub = (foo*)malloc(sizeof(foo));
ub->bar();
Тут всё понятно, будет хуйня =)
источник

ПК

Побитый Кирпич... in supapro.cxx
osm1um
Тут всё понятно, будет хуйня =)
Да нет, как правило это работает, но UB всё равно
источник

VS

Vlad Serebrennikov in supapro.cxx
Побитый Кирпич
Достаточно тривиальной копируемости и дефолт конструируемости
ок, оно и правда есть, но мысленной модели тривиальности не очень помогает
источник

o

osm1um in supapro.cxx
Побитый Кирпич
Да нет, как правило это работает, но UB всё равно
А malloc в C++ вызывает конструктор?
источник

ПК

Побитый Кирпич... in supapro.cxx
osm1um
А malloc в C++ вызывает конструктор?
нет
источник

VS

Vlad Serebrennikov in supapro.cxx
osm1um
А malloc в C++ вызывает конструктор?
нет
источник

VS

Vlad Serebrennikov in supapro.cxx
отсюда и проблема
источник

o

osm1um in supapro.cxx
Будет хуйня =)
источник