Шаг 196.
Библиотека STL. Контейнеры STL. Типы и функции контейнеров. Немодифицирующие операции. Операции, связанные с емкостью
На этом шаге мы рассмотрим немодифицирующие операции, связанные с емкостью.
size_type контейнер::capacity() const
Возвращает количество элементов, которые могут храниться в контейнере без перераспределения памяти. Поддерживается векторами и строками.
void контейнер::reserve(size_type num)
Резервирует внутреннюю память минимум для
num элементов.
Если
num меньше текущей емкости контейнера, для векторов вызов игнорируется, а для строк является необязательным
запросом на сокращение объема памяти. Методика уменьшения емкости векторов продемонстрирована в примере на
130 шаге.
Каждое перераспределение памяти требует времени, а все ссылки, указатели и итераторы становятся недействительными. Функция
reserve() может ускорить работу программы и сохранить действительными ссылки, указатели и итераторы (смотри 130 шаг).
Поддерживается векторами и строками.
На следующем шаге мы рассмотрим немодифицирующие операции сравнения.
Предыдущий шаг
Содержание
Следующий шаг