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

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

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

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

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

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

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

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

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

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

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



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий