План лекций по курсу Стандартная библиотека C++ 2009/10 — различия между версиями

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

Версия 16:37, 2 сентября 2009

Лекция 1 (01.09.09)

Шаблоны функций (на примере max). Где их определять. Два этапа компиляции шаблона. Мощь и проблемы шаблонов C++, пути решения. Специализация шаблона, инстанцирование, выведение. max(2.3,5). Способы решения проблемы: введение в шаблон дополнительных типов (плохо) и явное указание параметров шаблона (хорошо). Явная специализация шаблона для char*.

Алгоритм выбора версии перегруженной функции.

Полезные шаблоны функций. copy, find, find_if, foreach.

Диапазон. Понятие. Удобство диапазонов. Проблемы диапазонов.

Особенности стандартной библиотеки шаблонов:

  • отсутствие наследования;
  • итераторы, диапазоны итераторов;
  • незащищенность кода на этапе выполнения.