-
Notifications
You must be signed in to change notification settings - Fork 13
8_Lesson
Konychev Valera edited this page Mar 27, 2019
·
7 revisions
- Определение шаблона класса. - simpleTemplate.h, simpleTemplateTest.cpp
- Нетипизированные аргументы - аргументы-выражения. Нельзя изменять подобные аргументы или получить их адресс. - nonTypeTemplate.h, nonTypeTemplateTest.cpp
- Целочисленные типы.
- Перечисления (enum).
- Ссылки и указатели.
- Нельзя использовать типы с плавающей запятой (float, double)! Исторические проблемы с плавучкой.
- Рекурсивное использование шаблонов. - recursiveTemplate.h, recursiveTemplateTest.cpp
- Использование нескольких параметров типа.
- Параметры типа по умолчанию в шаблонах. - stack.h, stackTest.cpp
- template (можно использовать в шаблонах класса, нельзя в функциях (исторически)).
- template (и там и там можно использовать).
- Специализация шаблона. - explicitStackTest.cpp
- Неявное создание экземпляра vector arr;.
- Явное создание экземпляра template class vector;.
- Явная специализация шаблона класса. template <> class ClassName {}.
- Частичная специализация template
- Шаблоные члены классов.
- Шаблоны, как параметры.
- Шаблонные классы и друзья.
- Нешаблонные друзья.
- Шаблонные друзья - связанные и несвязанные.
- Псевдоними для шаблонов.
- typedef std::array<double, 42> dArray;
- Создание семества псевдонимов C++11
template<int num>
using dArray = std::array<double, num>