Size: a a a

2020 August 05

A

Alex in pro.cxx
О, вариант, хотя не очень изящно. Хотелось без засорения пространства имён (по схожей причине и специализацией не хочется это делать)
источник

NP

Nikita Provotorov in pro.cxx
Alex
О, вариант, хотя не очень изящно. Хотелось без засорения пространства имён (по схожей причине и специализацией не хочется это делать)
ну так вынесите эти специальные структуры в namespace detail, или я не понял сути
источник

A

Alex in pro.cxx
Лишних сущностей не хочется, предпочёл бы способ прямо внутри класса описать "условное" поле, если это вообще возможно
источник

O

Ofee in pro.cxx
Alex
О, вариант, хотя не очень изящно. Хотелось без засорения пространства имён (по схожей причине и специализацией не хочется это делать)
std::conditional_t + пустая структура + [[no_unique_address]], наверное. Но это всё ещё выглядит хуже и непонятнее наследования
источник

A

Alex in pro.cxx
только хотел о том же самом написать, но да, всё равно будет именованное поле, хоть это и заглушка
источник

ПК

Побитый Кирпич... in pro.cxx
Alex
О, вариант, хотя не очень изящно. Хотелось без засорения пространства имён (по схожей причине и специализацией не хочется это делать)
namespace detail и дело с концом, шаблоны это всегда сёр в паблик
источник

Е

Егор in pro.cxx
Alex
только хотел о том же самом написать, но да, всё равно будет именованное поле, хоть это и заглушка
может std::variant<std::conditional_t<cond,T,std::monostate> var?
источник

АК

Александр Караев... in pro.cxx
Егор
может std::variant<std::conditional_t<cond,T,std::monostate> var?
Да вы сударь извращенец
источник

AB

Artöm Bakri Al-Sarmi... in pro.cxx
Егор
может std::variant<std::conditional_t<cond,T,std::monostate> var?
nullopt еще предложи
источник

DS

Dmitry Sokolov in pro.cxx
Цепочка наследования из conditional наверное, наподобие tuple или всяческих ebo-holder.
источник

DS

Dmitry Sokolov in pro.cxx
Замиксованная с non-optional членом, чтобы место не тратить.
источник

DS

Dmitry Sokolov in pro.cxx
Можно просто на основе tuple, но надо глянуть при каких условиях там ebo срабатывает.
источник

DS

Dmitry Sokolov in pro.cxx
Хотя просто tuple неудобно, не запользовать по именам, typelist<conditional_t<opt, mholder, nop>...> data.
источник

DS

Dmitry Sokolov in pro.cxx
А иногда проще не изгаляться, я помнится писал intrusive rbtree с опциональными leftmost/rightmost/size, так просто накидал явно все 8 вариантов частичных специализаций layout'а.
источник
2020 August 06

E

Edgeworth in pro.cxx
Привет
источник

NM

Nigga Melon in pro.cxx
Поке
источник

Т8

Т-34 85 in pro.cxx
Есть общий совет (не вдаваясь в детали), когда стоит принимать относительно тяжёлый объект в параметре по значению, когда по l-value, когда по r-value?

Если так сказать нельзя, то хотя бы как принимать объект для сеттера, который будет полученное класть в поле класса? Я раньше слышал совет на copy elision особо не надеяться, так ли всё плохо?
источник

K

Kirill in pro.cxx
была табличка где-то, может найду
источник

S

Spoonson in pro.cxx
Т-34 85
Есть общий совет (не вдаваясь в детали), когда стоит принимать относительно тяжёлый объект в параметре по значению, когда по l-value, когда по r-value?

Если так сказать нельзя, то хотя бы как принимать объект для сеттера, который будет полученное класть в поле класса? Я раньше слышал совет на copy elision особо не надеяться, так ли всё плохо?
если просто тяжелый обьект, всегда можно его по значению передавать и везде std::move делать. Правда, один лишний мув будет, но обычно это не очень важно.
источник

K

Kirill in pro.cxx
источник