Namespaces
Variants

std::inplace_vector<T,N>:: reserve

From cppreference.net
static constexpr void reserve ( size_type new_cap ) ;
(начиная с C++26)

Ничего не делает, за исключением того, что может выбросить std::bad_alloc . Запрос на увеличение ёмкости (т.е. размера внутреннего хранилища) игнорируется, поскольку std:: inplace_vector < T, N > является контейнером фиксированной ёмкости.

Содержание

Параметры

new_cap - новая вместимость inplace_vector , в количестве элементов

Возвращаемое значение

(нет)

Сложность

Константа.

Исключения

std::bad_alloc если new_cap > capacity ( ) равно true .

Примечания

Эта функция существует для совместимости с вектороподобными интерфейсами.

Пример

#include <cassert>
#include <inplace_vector>
#include <iostream>
int main()
{
    std::inplace_vector<int, 4> v{1, 2, 3};
    assert(v.capacity() == 4 && v.size() == 3);
    v.reserve(2); // ничего не делает
    assert(v.capacity() == 4 && v.size() == 3);
    try
    {
        v.reserve(13); // выбрасывает исключение, т.к. запрошенная вместимость > N; v остается неизменным
    }
    catch(const std::bad_alloc& ex)
    {
        std::cout << ex.what() << '\n';
    }
    assert(v.capacity() == 4 && v.size() == 3);
}

Возможный вывод:

std::bad_alloc

Смотрите также

возвращает количество элементов
(публичная функция-член)
[static]
возвращает максимально возможное количество элементов
(публичная статическая функция-член)
изменяет количество хранимых элементов
(публичная функция-член)
[static]
возвращает количество элементов, которое может содержаться в выделенной в данный момент памяти
(публичная статическая функция-член)
уменьшает использование памяти за счет освобождения неиспользуемой памяти
(публичная статическая функция-член)