Size: a a a

cxx.Дискуссионная

2020 April 12

O

Ofee in cxx.Дискуссионная
Я так понял, вопрос странный, как проснусь, обдумаю и, правда, закину в суп
источник

D

Danya in cxx.Дискуссионная
А зачем ты делаешь decltype(B), когда B — это тип?
источник

O

Ostrich Corpsе in cxx.Дискуссионная
Так за сто офи забанили
источник

O

Ofee in cxx.Дискуссионная
Danya
А зачем ты делаешь decltype(B), когда B — это тип?
bool{} же, но в любом случае, это просто рандомный код с магией исключительно для демонстрации
источник

D

Danya in cxx.Дискуссионная
Ostrich Corpsе
Так за сто офи забанили
Не банили его
источник

D

Danya in cxx.Дискуссионная
Ofee
bool{} же, но в любом случае, это просто рандомный код с магией исключительно для демонстрации
А, это не тип, я туплю
источник

O

Ofee in cxx.Дискуссионная
Ostrich Corpsе
Так за сто офи забанили
Будешь лупхолить — везде забанят... Эх...
источник

D

Danya in cxx.Дискуссионная
Но смысла же нет
источник

D

Danya in cxx.Дискуссионная
Все равно норм сайзоф заработает
источник

O

Ostrich Corpsе in cxx.Дискуссионная
Ofee
Будешь лупхолить — везде забанят... Эх...
Зачем ты лупхолил
источник

O

Ofee in cxx.Дискуссионная
Danya
Но смысла же нет
Это синтетический пример, в реальном коде, конечно, более осмысленное использование значений
источник

D

Danya in cxx.Дискуссионная
Ofee
Будешь лупхолить — везде забанят... Эх...
Только если ты не админ)
источник

D

Danya in cxx.Дискуссионная
Ofee
Может кто объяснить, что тут не так? Вот этот код не рабочий:
template<bool B, typename U>
constexpr std::size_t size() {
   // some magic with template parameters
   return sizeof(U) + sizeof(decltype (B));
}

template<bool B, typename U, std::size_t = size<B, U>()>
struct X {};

template<bool B>
struct X<B, int> {};
      ^
error: type of specialized non-type template argument depends on a template parameter of the partial specialization

А вот этот, кажется, рабочий:
template<bool B, typename U,
        // some magic with template parameters
        std::size_t = sizeof(U) + sizeof(decltype (B))>
struct X {};

template<bool B>
struct X<B, int> {};


Так точно должно быть?
Так а значение анонимного третьего параметра в реальном примере используется?
источник

O

Ofee in cxx.Дискуссионная
Danya
Так а значение анонимного третьего параметра в реальном примере используется?
Да, конечно, в реальном коде их там даже несколько
источник

O

Ofee in cxx.Дискуссионная
Короче, никогда не думал, что нужно... Оборачивать функцию... в... структуру...
источник

O

Ofee in cxx.Дискуссионная
Ofee
Короче, никогда не думал, что нужно... Оборачивать функцию... в... структуру...
Хм, а сработает ли?
источник

D

Danya in cxx.Дискуссионная
Тогда определи констекспр переменную и попробуй присвоить значение этого параметра в специализации
источник

D

Danya in cxx.Дискуссионная
В рабочем примере
источник

D

Danya in cxx.Дискуссионная
Будет ли работать?
источник

O

Ofee in cxx.Дискуссионная
Danya
Будет ли работать?
Если правильно понял, то да, работало, если неправильно понял, то нет
источник