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
関連項目
| 要素数を返します (パブリックメンバ関数) | |
| 現在確保されている記憶域に保持できる要素の数を返します (パブリックメンバ関数) |