План лекций по курсу Стандартная библиотека C++ 2009/10 — различия между версиями
Материал из Вики ИТ мехмата ЮФУ
Admin (обсуждение | вклад) (Новая страница: «=== Лекция 1 === Шаблоны функций (на примере max). Где их определять Два этапа компиляции шабло…») |
Avalanche (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
− | + | ==Лекция 1 (01.09.09)== | |
− | Шаблоны функций (на примере max). | + | '''Шаблоны функций''' (на примере <tt>max</tt>). Где их определять. Два этапа компиляции шаблона. Мощь и проблемы шаблонов C++, пути решения. Специализация шаблона, инстанцирование, выведение. <tt>max(2.3,5)</tt>. Способы решения проблемы: введение в шаблон дополнительных типов (плохо) и явное указание параметров шаблона (хорошо). Явная специализация шаблона для <tt>char*</tt>. |
− | + | '''Алгоритм выбора версии перегруженной функции.''' | |
− | + | '''Полезные шаблоны функций.''' <tt>copy</tt>, <tt>find</tt>, <tt>find_if</tt>, <tt>foreach</tt>. | |
− | + | '''Диапазон.''' Понятие. Удобство диапазонов. Проблемы диапазонов. | |
− | + | '''Особенности стандартной библиотеки шаблонов:''' | |
− | + | *отсутствие наследования; | |
− | + | *итераторы, диапазоны итераторов; | |
− | + | *незащищенность кода на этапе выполнения. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | *отсутствие наследования | ||
− | *итераторы, диапазоны итераторов | ||
− | *незащищенность кода на этапе выполнения |
Версия 16:37, 2 сентября 2009
Лекция 1 (01.09.09)
Шаблоны функций (на примере max). Где их определять. Два этапа компиляции шаблона. Мощь и проблемы шаблонов C++, пути решения. Специализация шаблона, инстанцирование, выведение. max(2.3,5). Способы решения проблемы: введение в шаблон дополнительных типов (плохо) и явное указание параметров шаблона (хорошо). Явная специализация шаблона для char*.
Алгоритм выбора версии перегруженной функции.
Полезные шаблоны функций. copy, find, find_if, foreach.
Диапазон. Понятие. Удобство диапазонов. Проблемы диапазонов.
Особенности стандартной библиотеки шаблонов:
- отсутствие наследования;
- итераторы, диапазоны итераторов;
- незащищенность кода на этапе выполнения.