Size: a a a

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

2020 April 12

D

Danya in cxx.Дискуссионная
Просто мне кажется странным наличие идентификатора шаблонного параметра в специализации, где он явно не объявлен
источник

O

Ofee 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<typename U, bool B = true, std::size_t = size<B, U>()>
struct X {};

template<>
struct X<int> {};
источник

O

Ofee 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<typename U, bool B = true, std::size_t = size<B, U>()>
struct X {};

template<>
struct X<int> {};
(Я поменял местами первые два параметра и задал в объявлении дефолтный bool)
источник

D

Danya in cxx.Дискуссионная
Ofee
(Я поменял местами первые два параметра и задал в объявлении дефолтный bool)
Вижу
источник

O

Ofee 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<typename U, bool B = true, std::size_t = size<B, U>()>
struct X {};

template<>
struct X<int> {};
Для пользовательского кода работает так же, за исключением новой возможности отстрелить ногу создать X<type /* без , bool{} */ >
источник

O

Ofee in cxx.Дискуссионная
Danya
Просто мне кажется странным наличие идентификатора шаблонного параметра в специализации, где он явно не объявлен
Ты про это?
struct X<B, int> {};
           ^^^
источник

D

Danya in cxx.Дискуссионная
Нет, забей
источник

O

Ofee in cxx.Дискуссионная
Не, ну с другой стороны, @r_mustang, в резюме можешь записать личное знакомство с админами супа и про ¯\_(ツ)_/¯
источник

RM

Roy Mustang in cxx.Дискуссионная
Ofee
Не, ну с другой стороны, @r_mustang, в резюме можешь записать личное знакомство с админами супа и про ¯\_(ツ)_/¯
С таким же успехом тут пол аудитории можно неадекватными назвать
источник

O

Ofee in cxx.Дискуссионная
Roy Mustang
С таким же успехом тут пол аудитории можно неадекватными назвать
Согласен, пойду разбираться, почему составной лупхол не работает как лупхол
источник

AZ

Alexander Zaitsev in cxx.Дискуссионная
Ofee
Не, ну с другой стороны, @r_mustang, в резюме можешь записать личное знакомство с админами супа и про ¯\_(ツ)_/¯
:)
источник

KK

Konstantin Kozyrev in cxx.Дискуссионная
Roy Mustang
С таким же успехом тут пол аудитории можно неадекватными назвать
Кого и почему, например?
источник

RM

Roy Mustang in cxx.Дискуссионная
Konstantin Kozyrev
Кого и почему, например?
Я пожалуй воздержусь от дачи ответа на твой вопрос, это просто ничего не даст, только от работы отвлекусь
источник

RM

Roy Mustang in cxx.Дискуссионная
А если интересно - сам полистаешь
источник

KK

Konstantin Kozyrev in cxx.Дискуссионная
Эх
источник

O

Ofee in cxx.Дискуссионная
Это прекрасно, у меня получилось сделать правильный бинарный счётчик, даже не нужно задаваться вопросом теперь, на что я трачу свою жизнь...
using from_4 = add_bit<>;
using from_8 = add_bit<from_4>;
using from_16 = add_bit<from_8>;
источник

b

b7e89d55aa08a289aa48... in cxx.Дискуссионная
источник

O

Ofee in cxx.Дискуссионная
Когда MSVC единственный, кто понимает твой код, начинаешь сомневаться во всём вокруг...
источник

S

Stas in cxx.Дискуссионная
Это ведь годная книжка по сетям?
источник

NI

Nikita Ivanov in cxx.Дискуссионная
@LurkerWithScarf эта лучше
источник