作為關聯式容器的一種,map 容器存儲的都是 pair 對象,也就是用 pair 類模板創建的鍵值對。其中,各個鍵值對的鍵和值可以是任意數據類型,包括 C++ 基本數據類型(int、double 等)、使用結構體或類自定義的類型。
通常情況下,map 容器中存儲的各個鍵值對都選用 string 字符串作為鍵的類型。
與此同時,在使用 map 容器存儲多個鍵值對時,該容器會自動根據各鍵值對的鍵的大小,按照既定的規則進行排序。默認情況下,map 容器選用std::less<T>排序規則(其中 T 表示鍵的數據類型),其會根據鍵的大小對所有鍵值對做升序排序。當然,根據實際情況的需要,我們可以手動指定 map 容器的排序規則,既可以選用 STL 標準庫中提供的其它排序規則(比如std::greater<T>),也可以自定義排序規則。
關于如何自定義 map 容器的排序規則,后續章節會做詳細講解。
另外需要注意的是,使用 map 容器存儲的各個鍵值對,鍵的值既不能重復也不能被修改。換句話說,map 容器中存儲的各個鍵值對不僅鍵的值獨一無二,鍵的類型也會用 const 修飾,這意味著只要鍵值對被存儲到 map 容器中,其鍵的值將不能再做任何修改。
前面提到,map 容器存儲的都是 pair 類型的鍵值對元素,更確切的說,該容器存儲的都是 pair<const K, T> 類型(其中 K 和 T 分別