Шаг 200.
Библиотека STL.
Контейнеры STL. Типы и функции контейнеров. Прямой доступ к элементам
На этом шаге мы рассмотрим операции прямого доступа к элементам.
reference контейнер::at (size_type idx)
const_reference контейнер::at (size_type idx) const
Обе версии возвращают элемент с индексом
idx (первому элементу соответствует индекс 0).
Передача недействительного индекса (отрицательного, большего или равного
size()) генерирует исключение
out_of_range.
Полученная ссылка может стать недействительной из-за последующих модификаций или перераспределения памяти.
Если вы уверены в правильности индекса, используйте оператор [] - он работает быстрее. Поддерживаются векторами, деками и строками.
reference контейнер::operator [] (size_type idx)
const_reference контейнер::operator [] (size_type idx) const
Обе версии возвращают элемент с индексом
idx (первому элементу соответствует индекс 0).
Передача недействительного индекса (отрицательного, большего или равного
size()) приводит к непредсказуемым последствиям.
При вызове необходимо быть твердо уверенным в правильности индекса; в противном случае следует использовать функцию
at().
Ссылки, возвращаемые для неконстантных строк, могут стать недействительными из-за последующих модификаций строк или
перераспределения памяти. Поддерживаются векторами, деками и строками.
Т& map::operator [] (const key_type& key)
Оператор [] для ассоциативных массивов. Возвращает значение, соответствующее ключу
key в отображении.
Если в множестве нет ни одного элемента с ключом
key, операция автоматически создает новый элемент со значением,
инициализируемым конструктором по умолчанию соответствующего типа, Это означает, что индекс в принципе не может быть
недействительным. Пример;
map<int,string> coll;
coll[77] = "hello"; // Вставка ключа 77 со значением "hello"
cout <<coll[42]; // Ошибка - вставка ключа 42 со значением ""
// и вывод значения
Т - тип значения элемента. Эквивалент следующего вызова:
(*((insert(make_pair(х,Т()))).first)).second
Поддерживается отображениями.
reference контейнер::front()
const_reference контейнер::front() const
Обе версии возвращают первый элемент (элемент с индексом 0). Вызывающая сторона должна проследить за тем, чтобы контейнер
содержал хотя бы один элемент (
size()>0), иначе последствия вызова будут непредсказуемыми. Поддерживаются векторами, деками и списками.
reference контейнер::back()
const_reference контейнер::back() const
Обе версии возвращают последний элемент (элемент с индексом
size()-1). Вызывающая сторона должна проследить за тем,
чтобы контейнер содержал хотя бы один элемент (
size()>0), иначе последствия вызова будут непредсказуемыми.
Поддерживаются векторами, деками и списками.
На следующем шаге мы рассмотрим операции получения итераторов.
Предыдущий шаг
Содержание
Следующий шаг