Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

лекции программирование / polevoy_cpp_2012_spring_lecture_10

.pdf
Скачиваний:
29
Добавлен:
20.04.2015
Размер:
143.2 Кб
Скачать

reverse_iterator

класс-адаптер для iterator

для [f, l) интервал

[reverse_iterator(l), reverse_iterator(f)) содержит

значения в обратном порядке

основное тождество

&*(reverse_iterator(i)) == &*(i - 1)

&*r == &*(r.base() - 1)

14.04.2012

cppNewb.ru

41

Заголовочные файлы

• совпадают с именем контейнера

<vector>

<list>

<deque>

<set> - в т.ч. multiset <map> - в т.ч. multimap

• вспомогательные

<utility>

<iterator>

14.04.2012

cppNewb.ru

42

vector<>

динамический массив

произвольный доступ

быстрая вставка/удаление в конец

медленная вставка/удаление в начало

изменение числа элементов делает итераторы невалидными

14.04.2012

cppNewb.ru

43

Объявление vector

template <class T,

class Allocator = allocator<T> > class vector

vector<bool> - специализация

14.04.2012

cppNewb.ru

44

Доступ к элементам vector

через итератор

обобщенный вариант

по индексу

замена встроенным массивам

с концов

последовательное расположение в памяти

14.04.2012

cppNewb.ru

45

Доступ к элементам vector через итератор

iterator begin()

начало интервала

iterator end()

конец интервала

reverse_iterator rbegin()

reverse_iterator rend()

14.04.2012

cppNewb.ru

46

Доступ к элементам vector (если контейнер const)

const_iterator begin () const

const_iterator end () const

14.04.2012

cppNewb.ru

47

Заполнение массива

template<class InpI> void

assign(InpI fst, InpI lst)

скопировать диапазон

void

assign(size_type n, const T& u)

заполнить значениями u

14.04.2012

cppNewb.ru

48

Очистка массива

iterator erase(iterator pos)

удалить элемент

iterator

erase(iterator fst, iterator lst)

удалить элемент или интервал

14.04.2012

cppNewb.ru

49

list<>

двусвязный список

линейный доступ

быстрая вставка и удаление в любой

позиции

итераторы валидны при вставке и удалении

кроме удаления текущего элемента

14.04.2012

cppNewb.ru

50