Шаг 34.
Библиотека STL.
Шаблоны вложенных классов. Явная инициализация базовых типов

    На этом шаге мы рассмотрим определение шаблонов вложенных классов и явную инициализацию базовых типов.

Шаблоны вложенных классов

    Вложенные классы тоже могут оформляться в виде шаблонов:

   template <class T> 
   class MyClass 
   {
     .   .   .
     template <class T2> 
     class NestedClass;
     .   .   .
   };

Явная инициализация базовых типов

    При явном вызове конструктора без аргументов базовые типы инициализируются нулями:

   int i1;  // Неопределенное значение
   int i2 = int();     // Переменная инициализируется нулем

    Такая возможность была реализована для того, чтобы вы могли написать код шаблона, в котором величине любого типа заведомо будет присвоено некоторое значение по умолчанию. Например, в следующей функции вызов конструктора гарантирует, что для всех базовых типов переменная х будет инициализирована нулем:

   template <class T>
   void f()
   {
     Т х = Т():
     .   .   .
   }

    На следующем шаге мы рассмотрим обработку исключений.




Предыдущий шаг Содержание Следующий шаг