C++ Unordered_set 库 - 保留


描述

它将容器中的桶数 (bucket_count) 设置为最适合包含至少 n 个元素的数量。

宣言

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

C++11

void reserve ( size_type n );

参数

n − n 是桶的最小数量。

返回值

没有任何

例外情况

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

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

时间复杂度

恒定时间。

例子

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

#include <iostream>
#include <string>
#include <unordered_set>

int main () {
   std::unordered_set<std::string> myset;

   myset.reserve(5);

   myset.insert("android");
   myset.insert("java");
   myset.insert("html");
   myset.insert("css");
   myset.insert("wordpress");

   std::cout << "myset contains:";
   for (const std::string& x: myset) std::cout << " " << x;
   std::cout << std::endl;

   return 0;
}

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

myset contains: wordpress android java html css
无序集.htm