Size: a a a

2020 November 25

АР

Андрей Руссков... in pro.cxx
Pavel Kazakov
ну это не то, это троллейбус из буханки хлеба, а не first class citizen в языке
а зачем трейтам быть first class citizen? Концепты так то более функциональный механизм
источник

PK

Pavel Kazakov in pro.cxx
ну тут про трейты разговор) мне концепты тоже больше нравятся как механизм
источник

NP

Nikita Petrenko in pro.cxx
Pavel Kazakov
хэш — костыль)
плюсы — костыль)
источник

АР

Андрей Руссков... in pro.cxx
грубо говоря, концепт можно назвать "lazy trait"'ом. static_assert превращает lazy в eager
источник

PK

Pavel Kazakov in pro.cxx
сейчас нас товарищи с точки зрения математики поправят так, что стыдно станет, а Юлий Цезарь на самом деле окажется Рональдом МакДональдом в конце объяснения))
источник

CD

Constantine Drozdov in pro.cxx
Плюсую докладчиков, не перевариваю CRTP, concept > trait в long term
источник

PK

Pavel Kazakov in pro.cxx
ну ладно, вышло иначе))
источник

RR

Roman Rubanenko in pro.cxx
magras
Да, это оно. Плохо то, что для того чтобы прочитать такой метод надо облазить всю иерархию классов и собрать его по кускам.
Понятно, что не так удобно, как хотелось бы, но если это небольшая команда людей, которые знают что и зачем делают, то жить можно :)
источник

m

magras in pro.cxx
Roman Rubanenko
Понятно, что не так удобно, как хотелось бы, но если это небольшая команда людей, которые знают что и зачем делают, то жить можно :)
Я видел в каких драконов это превращается. Кроме того в плюсах есть альтернативы. Например можно параметризировать класс политикой. Примером такого решения будет std::unique_ptr с его deleter'ом.
источник

m

magras in pro.cxx
Да даже тот же crtp будет на мой взгляд лучше.
источник

PK

Pavel Kazakov in pro.cxx
magras
Я видел в каких драконов это превращается. Кроме того в плюсах есть альтернативы. Например можно параметризировать класс политикой. Примером такого решения будет std::unique_ptr с его deleter'ом.
полиси — ваще красотища! особенно, когда их больше двух-трех набирается
источник

m

magras in pro.cxx
Pavel Kazakov
полиси — ваще красотища! особенно, когда их больше двух-трех набирается
Их можно группировать.
источник

PK

Pavel Kazakov in pro.cxx
... увеличивая дракона) that's the point
источник

S

Stas in pro.cxx
magras
Я видел в каких драконов это превращается. Кроме того в плюсах есть альтернативы. Например можно параметризировать класс политикой. Примером такого решения будет std::unique_ptr с его deleter'ом.
Речь про количество параметров шаблона?
источник

PK

Pavel Kazakov in pro.cxx
Stas
Речь про количество параметров шаблона?
в моем случае, еще и про общую когнитивную сложность решения
источник

m

magras in pro.cxx
Pavel Kazakov
... увеличивая дракона) that's the point
Может быть. Но в случае политики, зная как инстанцируется объект, можно сразу найти реализацию поведения. В случае template method иногда даже непонятно нужно ли смотреть текущую реализацию или она будет ниже переопределена еще раз.
источник

CD

Constantine Drozdov in pro.cxx
magras
Может быть. Но в случае политики, зная как инстанцируется объект, можно сразу найти реализацию поведения. В случае template method иногда даже непонятно нужно ли смотреть текущую реализацию или она будет ниже переопределена еще раз.
Навигация по коду не нужна, если баги не компилируются :)
источник

АР

Андрей Руссков... in pro.cxx
Constantine Drozdov
Навигация по коду не нужна, если баги не компилируются :)
кхм кхм ranges кхм кхм
источник

АК

Александр Караев... in pro.cxx
Андрей Руссков
кхм кхм ranges кхм кхм
кстати, реализация ranges целиком обмазана crtp, если не ошибаюсь
источник

АР

Андрей Руссков... in pro.cxx
там обмазано всем чем можно чтобы получить zero cost
источник