float load_factor() const noexcept;
概要
現在の負荷率(バケットあたりの要素数の平均)を取得する。
戻り値
現在の負荷率として、以下を返す:
例外
投げない。
計算量
定数。
例
#include <iostream>
#include <unordered_set>
#include <algorithm>
#include <iterator>
template <class C>
void print(const C& c, std::ostream& os = std::cout)
{
std::copy(c.begin(), c.end(), std::ostream_iterator<typename C::value_type>(os, ", "));
os << "\nsize is " << c.size() << ", bucket_count is " << c.bucket_count() << ", load_factor is " << c.load_factor() << '\n' << std::endl;
}
int main()
{
std::unordered_multiset<int> ums{ 1, 3, 5, 7, 9, 1, 3, 5, 7, 9, };
print(ums);
ums.insert({ 2, 4, 6, 8, 10, 2, 4, 6, 8, 10, });
print(ums);
}
出力
9, 9, 7, 7, 5, 5, 1, 1, 3, 3,
size is 10, bucket_count is 11, load_factor is 0.909091
10, 10, 8, 8, 6, 6, 4, 4, 2, 2, 9, 9, 7, 7, 5, 5, 1, 1, 3, 3,
size is 20, bucket_count is 23, load_factor is 0.869565
バージョン
言語
- C++11
処理系
- Clang: 3.1 ✅
- GCC: 4.7.0 ✅
- ICC: ?
- Visual C++: ?
関連項目
名前 | 説明 |
---|---|
size |
要素数の取得 |
bucket_count |
バケット数の取得 |
max_load_factor |
負荷率の最大値を取得、設定 |
rehash |
最小バケット数指定によるバケット数の調整 |
reserve |
最小要素数指定によるバケット数の調整 |