ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Суббота
20 апреля
1163959 Топик полностью
VladislavS. (13.01.2022 13:02, просмотров: 233) ответил 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();