前面章節中,對 set 容器做了詳細的講解。回憶一下,set 容器具有以下幾個特性:
不再以鍵值對的方式存儲數據,因為 set 容器專門用于存儲鍵和值相等的鍵值對,因此該容器中真正存儲的是各個鍵值對的值(value);
set 容器在存儲數據時,會根據各元素值的大小對存儲的元素進行排序(默認做升序排序);
存儲到 set 容器中的元素,雖然其類型沒有明確用 const 修飾,但正常情況下它們的值是無法被修改的;
set 容器存儲的元素必須互不相等。
在此基礎上,C++ STL 標準庫中還提供有一個和 set 容器相似的關聯式容器,即 multiset 容器。所謂“相似”,是指 multiset 容器遵循 set 容器的前 3 個特性,僅在第 4 條特性上有差異。和 set 容器不同的是,multiset 容器可以存儲多個值相同的元素。
也就是說,multiset 容器和 set 容器唯一的差別在于,multiset 容器允許存儲多個值相同的元素,而 set 容器中只能存儲互不相同的元素。
和 set 類模板一樣,multiset 類模板也定義在<set>頭文件,并位于 std 命名空間中。這意味著,如果想在程序中使用 multiset 容器,該程序代碼應包含如下語句:
#include <set>
using namespa