C++ STL 中的 multimap value_comp() 函式
在本文中,我們將討論 C++ STL 中 multimap::value_comp() 函式的工作原理、語法和示例。
什麼是 C++ STL 中的多重對映?
多重對映是有序關聯容器,與對映容器類似。它還有助於以特定順序儲存由鍵值和對映值組合形成的元素。在一個多重對映中,可以有多個元素與同一個鍵關聯。資料的內部排序始終藉助於其關聯鍵。
什麼是 multimap::value_comp()?
multimap::value_comp() 是 C++ STL 中的一個內建函式,在 <map> 標頭檔案中宣告。value_comp() 返回比較物件的副本,它由多重對映容器用於比較。預設情況下,這個物件是小操作物件,它類似於小於操作。
它是一種函式指標或函式物件,在特定的多重對映中比較兩個相同型別的元素,如果第一個元素比容器中的第二個元素小,則返回 true,否則返回 false。
語法
multi_name.value_comp();
引數
此函式不接受任何引數。
返回值
此函式返回一個與關聯多重對映容器有關的比較物件。
輸入
multimap<char, int> newmap; newmap(make_pair(‘a’, 1)); newmap(make_pair(‘b’, 2)); newmap(make_pair(‘c’, 3)); multimap<int>::value_compare cmp = myset.value_comp();
輸出
1 2 3
示例
#include <iostream>
#include <map>
using namespace std;
int main(){
multimap<int, char> mul;
//inserting elements at given key
mul.insert(make_pair(0, 'A'));
mul.insert(make_pair(1, 'B'));
mul.insert(make_pair(2, 'C'));
mul.insert(make_pair(3, 'D'));
pair<int, char> temp = *mul.rbegin();
multimap<int, char>::iterator it = mul.begin();
cout<<"Elements at given key is : "<<'\n';
do {
cout << (*it).first << " = " << (*it).second << '\n';
}
while (mul.value_comp()(*it++, temp));
return 0;
}輸出
如果執行以上程式碼,則會生成以下輸出 −
Elements at given key is : 0 = A 1 = B 2 = C 3 = D
廣告
資料結構
網路
關係型資料庫
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP