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

更新日期:2020 年 4 月 22 日

171 條瀏覽

開啟 職業生涯

完成課程後獲得認證

開始學習
廣告
© . All rights reserved.