Я наткнулся на следующий фрагмент в реализации N-арного дерева в учебнике:
template <typename Object, int N>
Насколько я понимаю, основная цель шаблона состоит в том, чтобы обеспечить "универсальность" кода так,что конкретная переменная может быть любого типа, представленного через Object
, т.е. если у вас есть template <typename Object>
, тогда мы можем написать следующее в коде: Object variable1;
, где Object
любого типа.
Исходя из моего описания,
1) Указывая конкретный тип переменной (в данном случае int
для N
), мы не идем вразрез с основным назначением шаблонов?
Тогда ...
2) Зачем нам это делать?Не лучше ли включить в конструктор переменную N
?