std::inplace_vector<T,N>::reserve
来自cppreference.com
< cpp | container | inplace vector
static constexpr void reserve( size_type new_cap ); |
(C++26 起) | |
不做任何事,但可能抛出 std::bad_alloc。因为 std::inplace_vector<T, N> 是固定容量的容器,忽略减少容量(即内部存储大小)的请求。
参数
new_cap | - | inplace_vector 的新容量,以元素数量计
|
返回值
(无)
复杂度
常数。
异常
若 new_cap > capacity() 为 true 则抛出 std::bad_alloc。
注解
这个函数是为保持向量式接口的兼容性而存在的。
示例
运行此代码
#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
参阅
返回元素数 (公开成员函数) | |
[静态] |
返回可容纳的最大元素数 (公开静态成员函数) |
改变存储元素的个数 (公开成员函数) | |
[静态] |
返回当前存储空间能够容纳的元素数 (公开静态成员函数) |
[静态] |
通过释放未使用的内存减少内存的使用 (公开静态成员函数) |