На этом шаге мы рассмотрим использование нетипизированных параметров шаблонов.
Кроме параметров-типов в шаблонах допускается использование нетипизованных параметров. В этом случае нетипизованный параметр считается частью определения типа. Например, аргумент шаблона стандартного класса bitset<> содержит количество битов. В следующем фрагменте определяются два битовых поля, состоящих из 32 и 50 бит:
bitset<32> flags32: // Битовое поле из 32 бит bitset<50> flags50; // Битовое поле из 50 бит
Эти битовые поля относятся к разным типам, потому что при их определении задаются разные аргументы шаблонов. Следовательно, их нельзя присваивать или сравнивать друг с другом (при отсутствии соответствующего преобразования типа).
На следующем шаге мы рассмотрим параметры шаблонов по умолчанию.