ВходНаше всё Теги codebook PARTS Поиск Опросы Закон Пятница
28 января
/1163959
Топик полностью
VladislavS. (13.01.2022 13:02, просмотров: 116) ответил Mahagam на а с чего понимабельность плюсов падает с каждым стандартом?
На самом деле с точностью до наоборот. В современных стандартах код пишется проще и более читаем. 

Вот так длину списка типов приходилось вычислять Александреску

class NullType {};

template <class TList> struct Length;

template <> struct Length<NullType>
{
  enum { value = 0 };
};
        
template <class T, class U>
struct Length< Typelist<T, U> >
{
  enum { value = 1 + Length<U>::value };
};
        
Использование - Length<TList>::value;

Вот так это делают сейчас

template<typename... Ts>
struct TypeList
{    
  static consteval auto size() { return sizeof...(Ts); }        
};

Использование - tlist.size();  или TList::size();