Лекция 21. Шаблоны (часть 1) презентация
Содержание
- 2. Шаблоны Введение в шаблоны Шаблоны функций Инстанцирование шаблонов функций Явное инстанцирование
- 3. Введение в шаблоны (Простой пример) Напишем функцию, возвращающую максимум из двух
- 4. Введение в шаблоны Вместо этого воспользуемся механизмом шаблонов: template < typename
- 5. Введение в шаблоны (как это работает) Имеем функцию template < typename
- 6. Все эти действия выполняются автоматически. Все эти действия выполняются автоматически. Компилятор
- 7. Инстанцирование шаблонов (требования к типам) Снова рассмотрим нашу функцию Max: template
- 8. Инстанцирование шаблонов (требования к типам) Компилятор сгенерирует функцию Max для типа
- 9. Инстанцирование шаблонов (требования к типам) Выводы: Инстанцирование шаблона для некоторого типа
- 10. Явное инстанцирование шаблонов Рассмотрим функцию spaceOf, возвращающую размер типа в 32-битных
- 11. Явное инстанцирование шаблонов Решение заключается в использовании явного инстанцирования шаблона: int
- 12. Шаблоны или макросы Нашу функцию Max можно реализовать и через макрос:
- 13. Шаблоны или макросы (Сравнение)
- 14. Шаблоны классов Рассмотрим класс, реализующий стек целых чисел: class Stack {
- 15. Шаблоны классов Решение заключается в использовании шаблонного класса Stack: template <
- 16. Шаблоны классов Класс – это тип. Шаблонный класс это не тип.
- 17. Шаблоны классов Поскольку шаблонный класс это не тип, а множество типов,
- 18. Инстанцирование шаблонов (требования к типам) Рассмотрим реализацию функции push из нашего
- 19. Улучшение класса Stack Рассмотрим еще раз наш класс Stack template <
- 20. Улучшение класса Stack Можно. Наш класс Stack хранит ровно 100 элементов.
- 21. Аргументы шаблонов Аргументом шаблона (как функции, так и класса) могут быть:
- 22. Определение членов класса Функции-члены класса можно реализовывать двумя способами:
- 23. Аргументы по умолчанию Можно так: template <typename elem = char> class
- 24. Скачать презентацию
Слайды и текст этой презентации