std::vector<T,Allocator>::shrink_to_fit
提供: cppreference.com
void shrink_to_fit(); |
(C++11以上) | |
未使用の容量の削除を要求します。
これは、capacity() を size() に減らす、拘束力のない要求です。 要求が満たされるかどうかは実装に依存します。
再確保が発生した場合は、すべてのイテレータ (終端イテレータも含む) および要素へのすべての参照が無効化されます。 再確保が発生しなければ、どのイテレータも参照も無効化されません。
目次 |
[編集] 引数
(なし)
型の要件 | ||
-T は MoveInsertable の要件を満たさなければなりません。
|
[編集] 戻り値
(なし)
[編集] 計算量
多くともコンテナのサイズに比例。
[編集] ノート
T のムーブコンストラクタ以外によって例外が投げられた場合、効果はありません。
[編集] 例
Run this code
#include <iostream> #include <vector> int main() { std::vector<int> v; std::cout << "Default-constructed capacity is " << v.capacity() << '\n'; v.resize(100); std::cout << "Capacity of a 100-element vector is " << v.capacity() << '\n'; v.clear(); std::cout << "Capacity after clear() is " << v.capacity() << '\n'; v.shrink_to_fit(); std::cout << "Capacity after shrink_to_fit() is " << v.capacity() << '\n'; }
出力例:
Default-constructed capacity is 0 Capacity of a 100-element vector is 100 Capacity after clear() is 100 Capacity after shrink_to_fit() is 0
[編集] 関連項目
要素数を返します (パブリックメンバ関数) | |
現在確保されている記憶域に保持できる要素の数を返します (パブリックメンバ関数) |