size_type capacity() const noexcept;
Returns: Общее количество элементов, которые вектор может содержать без необходимости перераспределения.
void reserve(size_type n);
Effects: Директива, которая информирует vector о планируемом изменении размера, чтобы он мог соответствующим образом управлять распределением хранилища. После того, какreserve(), capacity() больше или равен аргументу ,reserve если Перераспределение происходит; и равно предыдущему значению в capacity() противном случае. Перераспределение происходит в этот момент тогда и только тогда, когда текущая емкость меньше аргумента reserve(). Если исключение выбрасывается не конструктором перемещения не-CopyInsertable типа, не будет никаких эффектов.
Complexity: Он не изменяет размер последовательности и занимает самое большее линейное время в размере последовательности.
Remarks: Перераспределение делает недействительными все ссылки, указатели и итераторы, относящиеся к элементам в последовательности. Никакое перераспределение не должно происходить во время вставок, которые происходят после вызова, reserve() до того момента, когда вставка сделает размер вектора больше, чем значение capacity().
void shrink_to_fit();
Effects: shrink_to_fit является необязательным запросом для сокращения capacity() до size(). [ Note: Запрос не является обязывающим, чтобы дать свободу для оптимизации, зависящей от реализации. ] Он не увеличивается , но может уменьшаться , вызывая перераспределение. Если исключение вызвано другим, чем конструктором перемещения объекта non- , никаких эффектов не возникает. — end note capacity() capacity()CopyInsertable T
Remarks: Перераспределение делает недействительными все ссылки, указатели и итераторы, относящиеся к элементам в последовательности, а также к итератору, прошедшему конец. Если перераспределения не происходит, они остаются в силе.
void swap(vector& x)
noexcept(allocator_traits<Allocator>::propagate_on_container_swap::value ||
allocator_traits<Allocator>::is_always_equal::value);
void resize(size_type sz);
Effects: Если sz < size(), стирает последние size() - sz элементы из последовательности. В противном случае добавляет sz - size() в последовательность элементы, вставленные по умолчанию.
Remarks: Если исключение вызвано другим, чем конструктором перемещения объекта non-CopyInsertable T , никаких эффектов не возникает.
void resize(size_type sz, const T& c);
Effects: Если sz < size(), стирает последние size() - sz элементы из последовательности. В противном случае добавляет к последовательности sz - size() копии c .
reserve() использования, Allocator::allocate() которые могут вызвать соответствующее исключение.