Шаг 196.
Библиотека STL. Контейнеры STL. Типы и функции контейнеров. Немодифицирующие операции. Операции, связанные с емкостью

    На этом шаге мы рассмотрим немодифицирующие операции, связанные с емкостью.

  size_type контейнер::capacity() const
Возвращает количество элементов, которые могут храниться в контейнере без перераспределения памяти. Поддерживается векторами и строками.

  void контейнер::reserve(size_type num)
Резервирует внутреннюю память минимум для num элементов. Если num меньше текущей емкости контейнера, для векторов вызов игнорируется, а для строк является необязательным запросом на сокращение объема памяти. Методика уменьшения емкости векторов продемонстрирована в примере на 130 шаге.

    Каждое перераспределение памяти требует времени, а все ссылки, указатели и итераторы становятся недействительными. Функция reserve() может ускорить работу программы и сохранить действительными ссылки, указатели и итераторы (смотри 130 шаг). Поддерживается векторами и строками.

    На следующем шаге мы рассмотрим немодифицирующие операции сравнения.




Предыдущий шаг Содержание Следующий шаг