在掌握 C++ STL map 容器的基礎上,本節再講一個和 map 相似的關聯式容器,即 multimap 容器。
所謂“相似”,指的是 multimap 容器具有和 map 相同的特性,即 multimap 容器也用于存儲 pair<const K, T> 類型的鍵值對(其中 K 表示鍵的類型,T 表示值的類型),其中各個鍵值對的鍵的值不能做修改;并且,該容器也會自行根據鍵的大小對存儲的所有鍵值對做排序操作。和 map 容器的區別在于,multimap 容器中可以同時存儲多(≥2)個鍵相同的鍵值對。
和 map 容器一樣,實現 multimap 容器的類模板也定義在<map>頭文件,并位于 std 命名空間中。因此,在使用 multimap 容器前,程序應包含如下代碼:
#include <map>
using namespace std;
注意,第二行代碼不是必需的,但若不用,則程序中在使用 multimap 容器時需手動注明 std 命名空間(強烈建議初學者使用)。
multimap 容器類模板的定義如下:
template < class Key, // 指定鍵(key)的類型class T, // 指定值(value)的類型class Compare = les