std::inplace_vector<T,N>::reserve
ja.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]
|
現在確保されているストレージに格納可能な要素数を返す
(公開静的メンバ関数) |
|
[static]
|
未使用メモリを解放してメモリ使用量を削減する
(公開静的メンバ関数) |