STL unordered_multimap使用

STL unordered_multimap容器使用教程

unordered_multimap 容器提供了多个构造函数用来创建 unordered_multimap,我们要创建一个 unordered_multimap 容器有三种方式,即直接创建一个 unordered_multimap、创建一个 unordered_multimap 并初始化和通过 unordered_multimap 创建 unordered_multimap。

STL创建unordered_multimap详解

语法

std::unordered_multimap<key_type, value_type> values;

参数

参数 描述
key_type unordered_multimap 中每个元素的键类型。
value_type unordered_multimap 中每个元素的值类型。
values unordered_multimap 类型的变量。

说明

这样,我们创建了一个空的 unordered_multimap,其键是 key_type 类型,值为 value_type 类型。

STL初始化unordered_multimap详解

语法

std::unordered_multimap<key_type, value_type> values {{key1, val1}, {key2, val2}};

参数

参数 描述
key_type unordered_multimap 中每个元素的键类型。
value_type unordered_multimap 中每个元素的值类型。
key1 unordered_multimap 中第一个元素的键。
val1 unordered_multimap 中第一个元素的值。
values unordered_multimap 类型的变量。

说明

这样,我们创建了一个 unordered_multimap,其中第一个元素的键为 key1 值为 val1、第二个元素的键为 key2 值为 val2。

STL使用unordered_multimap初始化unordered_multimap详解

语法

std::unordered_multimap<key_type, value_type> value2(value1);

参数

参数 描述
key_type unordered_multimap 中每个元素的键类型。
value_type unordered_multimap 中每个元素的值类型。
values unordered_multimap 类型的变量。

说明

我们使用了 value1 初始化了 value2。

案例

创建unordered_multimap

创建一个 unordered_multimap,并初始化

#include <iostream> #include <unordered_map> using namespace std; int main() { cout << "嗨客网(www.haicoder.net)\n" << endl; unordered_multimap<int, string> unordered_multimap1{{1, "Mon"}, {2, "Thu"}, {3, "Wed"}, {1, "mon"}}; for (auto i = unordered_multimap1.begin(); i != unordered_multimap1.end(); i++) { cout << i->first << " " << i->second << endl; } return 0; }

因为,这里需要使用 C++ 11,因此,我们在 Linux 下使用 g++ 进行编译,具体命令如下:

g++ unordered_multimap.cpp -std=c++11

编译后,我们直接运行生成的二进制文件 a.out,如下图所示:

19_unordered_multimap使用.png

我们创建了并初始化了一个 unordered_multimap,最后,使用迭代器遍历了所有元素。

使用unordered_multimap初始化unordered_multimap

创建一个 unordered_multimap,并使用 unordered_multimap 初始化 unordered_multimap

#include <iostream> #include <unordered_map> using namespace std; int main() { cout << "嗨客网(www.haicoder.net)\n" << endl; unordered_multimap<string, string> unordered_multimap1{{"site", "haicoder.net"}, {"name", "haicoder"}, {"age", "110"}}; unordered_multimap<string, string> unordered_multimap2(unordered_multimap1); for (auto i = unordered_multimap2.begin(); i != unordered_multimap2.end(); i++) { cout << i->first << " " << i->second << endl; } return 0; }

编译后,我们直接运行生成的二进制文件 a.out,如下图所示:

20_unordered_multimap使用.png

我们首先创建了一个 unordered_multimap,接着,使用了 unordered_multimap 创建了另一个 unordered_multimap。

STL unordered_multimap使用总结

unordered_multimap 容器提供了多个构造函数用来创建 unordered_multimap,我们要创建一个 unordered_multimap 容器有三种方式,即直接创建一个 unordered_multimap、创建一个 unordered_multimap 并初始化和通过 unordered_multimap 创建 unordered_multimap。