目录

max_load_factor

描述 (Description)

它用于获取或设置最大负载系数。

声明 (Declaration)

以下是std :: unordered_set :: max_load_factor的声明。

C++11

float max_load_factor() const noexcept;
void max_load_factor ( float z );

参数 (Parameters)

z - 这是新的最大负载系数。

返回值

它返回当前的负载系数。

异常 (Exceptions)

如果任何元素比较对象抛出异常,则抛出异常。

请注意,无效参数会导致未定义的行为。

时间复杂

恒定时间。

例子 (Example)

以下示例显示了std :: unordered_set :: max_load_factor的用法。

#include <iostream>
#include <string>
#include <unordered_set>
int main () {
   std::unordered_set<std::string> myset =
      {"sai", "Ram", "krishna", "prasad", "Bangalore", "india"};
   std::cout << "current max_load_factor: " << myset.max_load_factor() << std::endl;
   std::cout << "current size: " << myset.size() << std::endl;
   std::cout << "current bucket_count: " << myset.bucket_count() << std::endl;
   std::cout << "current load_factor: " << myset.load_factor() << std::endl;
   float z = myset.max_load_factor();
   myset.max_load_factor ( z/2.0 );
   std::cout << "[max_load_factor halved]" << std::endl;
   std::cout << "new max_load_factor: " << myset.max_load_factor() << std::endl;
   std::cout << "new size: " << myset.size() << std::endl;
   std::cout << "new bucket_count: " << myset.bucket_count() << std::endl;
   std::cout << "new load_factor: " << myset.load_factor() << std::endl;
   return 0;
}

让我们编译并运行上面的程序,这将产生以下结果 -

current max_load_factor: 1
current size: 6
current bucket_count: 7
current load_factor: 0.857143
[max_load_factor halved]
new max_load_factor: 0.5
new size: 6
new bucket_count: 17
new load_factor: 0.352941
↑回到顶部↑
WIKI教程 @2018