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

Материал из Вики ИТ мехмата ЮФУ
Перейти к: навигация, поиск
(Новая страница: «=== Лекция 1 === Шаблоны функций (на примере max). Где их определять Два этапа компиляции шабло…»)
 
 
(не показаны 2 промежуточные версии 2 участников)
Строка 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)
+
==Лекция 2 (15.09.09)==
 +
Контейнеры стандартной библиотеки: vector, list, stack, queue, dequeue, priorityqueue, set, map, multiset, multimap
  
Явная специализация шаблона для char*
+
Стоимость основных операций в контейнерах.
  
Алгоритм поиска перегрууженной версии функции
+
Понятие итератора контейнера. Реализация итераторов для вектора и списка. Представление о реализации итератора для множества.
  
Полезные шаблоны функций
+
Общие контейнерные операции (по листику).
*copy
 
*find
 
*find_if
 
*foreach
 
  
Понятие диапазона. Удобство диапазонов. Проблемы диапазонов.
+
[[Категория:Стандартная библиотека C++]]
 
 
Итераторы - начальное представление. Реализация итератора для вектора.
 
 
 
Обзор стандартной библиотеки шаблонов. Особенности:
 
*отсутствие наследования
 
*итераторы, диапазоны итераторов
 
*незащищенность кода на этапе выполнения
 

Текущая версия на 14:31, 23 сентября 2009

Лекция 1 (01.09.09)

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

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

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

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

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

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

Лекция 2 (15.09.09)

Контейнеры стандартной библиотеки: vector, list, stack, queue, dequeue, priorityqueue, set, map, multiset, multimap

Стоимость основных операций в контейнерах.

Понятие итератора контейнера. Реализация итераторов для вектора и списка. Представление о реализации итератора для множества.

Общие контейнерные операции (по листику).