std::inplace_vector<T,N>::reserve
来自 cppreference.com
< cpp | 容器 | inplace vector
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); // does nothing assert(v.capacity() == 4 && v.size() == 3); try { v.reserve(13); // throws, because requested capacity > N; v is left unchanged } catch(const std::bad_alloc& ex) { std::cout << ex.what() << '\n'; } assert(v.capacity() == 4 && v.size() == 3); }
可能的输出
std::bad_alloc
[编辑] 另请参阅
返回元素数量 (公有成员函数) | |
[静态] |
返回元素的最大可能数量 (公有静态成员函数) |
更改存储的元素数量 (公有成员函数) | |
[静态] |
返回当前分配的存储空间中可以容纳的元素数量 (公有静态成员函数) |
[静态] |
通过释放未使用的内存来减少内存使用量 (公有静态成员函数) |