Size: a a a

2020 August 04

NI

Nikita Ivanov in supapro.cxx
Побитый Кирпич
Базару ноль, переписывай на новый стандарт, в отдельной ветке и бесплатно
чек выше
источник

NI

Nikita Ivanov in supapro.cxx
а вот частично почему бы и нет
источник

ПК

Побитый Кирпич... in supapro.cxx
Anton Kviatkovskii
Новый синтаксис инициализации
В 20 плюсах практически нет разницы между старым и новым
А до 20 какая разница?
источник

AK

Anton Kviatkovskii in supapro.cxx
Побитый Кирпич
А до 20 какая разница?
Агрегатная инициализация не тригерится()
источник

C

Chuvi in supapro.cxx
Nikita Ivanov
я сказал что в случае выхода в новом стандарте более удобного метода решения той или иной проблемы уместно его использовать и перевести старый код на него
Это идиализм)
источник

ПК

Побитый Кирпич... in supapro.cxx
Anton Kviatkovskii
Агрегатная инициализация не тригерится()
А, в 20 можно типа emplace_back на агрегаты делать и самому через () инитить?
источник

ПК

Побитый Кирпич... in supapro.cxx
Nikita Ivanov
я сказал что в случае выхода в новом стандарте более удобного метода решения той или иной проблемы уместно его использовать и перевести старый код на него
Новый код возможно (ито не факт), старый код - вряд ли
источник

АК

Александр Караев... in supapro.cxx
Побитый Кирпич
А, в 20 можно типа emplace_back на агрегаты делать и самому через () инитить?
да
источник

ПК

Побитый Кирпич... in supapro.cxx
Блин, фигово
источник

AK

Anton Kviatkovskii in supapro.cxx
Побитый Кирпич
А, в 20 можно типа emplace_back на агрегаты делать и самому через () инитить?
struct Foo{int a; double b};
Foo obj(5, 2.2);
Вот так можно
источник

ПК

Побитый Кирпич... in supapro.cxx
Anton Kviatkovskii
struct Foo{int a; double b};
Foo obj(5, 2.2);
Вот так можно
А может кто знает, как лучше всего избежать супер бесячей ошибки, когда:
Foo{ 1, true, ""s };
И внезапно добавилось новое поле с семантикой "required"?
источник

NI

Nikita Ivanov in supapro.cxx
Chuvi
Это идиализм)
кто сказал что это нужно сделать за месяц или даже за полгода?
источник

AK

Anton Kviatkovskii in supapro.cxx
Побитый Кирпич
А может кто знает, как лучше всего избежать супер бесячей ошибки, когда:
Foo{ 1, true, ""s };
И внезапно добавилось новое поле с семантикой "required"?
Добавлять его первым и молиться, что дальше неявная конверсия не сработает
источник

NI

Nikita Ivanov in supapro.cxx
не стоит на это бросать все силы, конечно
источник

ПК

Побитый Кирпич... in supapro.cxx
Anton Kviatkovskii
Добавлять его первым и молиться, что дальше неявная конверсия не сработает
Я для этого конструкторы делаю, но напрягает для каждого типа писать тривиальный конструктор
источник

ПК

Побитый Кирпич... in supapro.cxx
Вот таких фичей мне в С++ не хватает
источник

AK

Anton Kviatkovskii in supapro.cxx
Побитый Кирпич
Я для этого конструкторы делаю, но напрягает для каждого типа писать тривиальный конструктор
Ну, у нас сейчас новая стадия рефакторинга - для всяких единиц типа байтов и прочего выкидываются фундаментальные типы и заменяются на классы с explicit  консторукторами
источник

ПК

Побитый Кирпич... in supapro.cxx
Anton Kviatkovskii
Ну, у нас сейчас новая стадия рефакторинга - для всяких единиц типа байтов и прочего выкидываются фундаментальные типы и заменяются на классы с explicit  консторукторами
Тут кстати не уверен что нет проёба по производительности, в частности из-за ABI какого нибудь, которое не даст потом через регистры передавать
источник

AK

Anton Kviatkovskii in supapro.cxx
Побитый Кирпич
Тут кстати не уверен что нет проёба по производительности, в частности из-за ABI какого нибудь, которое не даст потом через регистры передавать
Ну, для компилятора то типы всё ещё тривиальными остаются
Это как std::chrono::milliseconds
источник

AK

Anton Kviatkovskii in supapro.cxx
Он вполне себе норм оптимизируется
источник