496_____________________Часть III, Современное программирование на C++

• reference: Ссылка на элемент контейнера.

• const_reference: Ссылка на элемент контейнера, который не может быть изменен.

• iterator: Итератор типа, соответствующего данному контейнеру. Итератор может быть использован как итератор произвольного доступа.

• const_iterator: Итератор, элементы которого не могут быть изменены.

• reverse _iterator: Обратный итератор-адаптер.

• const_reverse_iterator: Обратный итератор, не изменяющий элементов контейнера.

• size_type: Беззнаковое целое, используемое для хранения числа элементов или размера элемента.

• difference_type: Целое со знаком, используемое для хранения расстояния между элементами, которое может быть описано как разница двух итераторов.

»

Примеры использования этих типов для вектора STUDENT:

STUDENT_VECTOR::reference student = studentVector3[2] ;

STUDENTJVECTOR::iterator I = studentVector5.begin();

STUDENT_VECTOR: :diffe.rence_type d = studentVector3. end () -^studentVector3.begin() ;

Четыре функции-члена возвращают итераторы:

• begin (): Возвращает итератор, указывающий на первый элемент в контейнере.

• end (): Возвращает итератор, указывающий на элемент следующий за последним элементом в контейнере.

• rbegin (): Возвращает обратный итератор, указывающий на элемент следующий за последним элементом в последовательности.

• rend о: Возвращает обратный итератор, указывающий на первый элемент в последовательности.

Каждая из этих функций имеет константную версию.

size () возвращает число элементов в контейнере, capacity о возвращает максимальный размер контейнера, установленный до выделения дополни-гельной памяти.

nax_si7-e() возвращает максимальный размер, которого может достигать сонтейнер. Эта величина зависит от размера доступной свободной памяти, 1ли возможно от верхнего предела, определяемого типом size_type.

resize о изменяет размер контейнера, удаляя или добавляя в конец элементы. Функция имеет две формы. Первая устанавливает новый размер >ектора и, если необходимо добавить новые элементы, использует значение