C++ STL 中的 multimap::begin() 和 multimap::end()


在本文中,我們將討論 C++ STL 中 multimap::begin() 和 multimap::end() 函式的工作原理、語法和示例。

什麼是 C++ STL 中的 Multimap?

Multimap 是關聯容器,類似於 map 容器。它還方便地按特定順序儲存由鍵值對和對映值組合而成的元素。在 multimap 容器中,可以有多個元素與同一個鍵關聯。資料在內部始終藉助其關聯鍵進行排序。

什麼是 multimap::begin()?

multimap::begin() 函式是 C++ STL 中的內建函式,定義在 <map> 標頭檔案中。begin() 用於訪問與關聯的 multimap 容器開頭處的元素。

此函式返回一個指向容器第一個元素的迭代器。當容器中沒有值時,不能解除迭代器的引用。

語法

multimap_name.begin();

引數

此函式不接受任何引數。

返回值

此函式返回一個指向 map 容器第一個值的迭代器。

輸入

std::multimap<int> mymap;
mymap.insert({‘a’, 10});
mymap.insert({‘b’, 20});
mymap.insert({‘c’, 30});
mymap.begin();

輸出

a:10

示例

multimap::begin()

線上演示

#include <bits/stdc++.h>
using namespace std;
int main(){
   multimap<int, int> mul;
   //inserting elements in multimap
   mul.insert({ 1, 10 });
   mul.insert({ 2, 20 });
   mul.insert({ 3, 30 });
   mul.insert({ 4, 40 });
   mul.insert({ 5, 50 });
   //fetching first pair in multimap
   auto i = mul.begin();
   cout<<"First element in multimap is: ";
   cout << "{" << i->first << ", " << i->second << "}\n";
   //displaying multimap elements
   cout << "\nElements in multimap is : \n";
   cout << "KEY\tELEMENT\n";
   for (auto it = mul.begin(); it!= mul.end(); ++it){
      cout << it->first << '\t' << it->second << '\n';
   }
   return 0;
}

輸出

如果我們執行上述程式碼,它將生成以下輸出:

First element in multimap is: {1, 10}
Elements in multimap is :
KEY ELEMENT
1 10
2 20
3 30
4 40
5 50

什麼是 multimap::end()?

multimap::end() 函式是 C++ STL 中的內建函式,定義在 <map> 標頭檔案中。end() 用於訪問 multimap 容器中最後一個元素之後(或超過最後一個元素)的元素。

此函式返回一個指向容器中最後一個元素下一個元素的迭代器。當容器中沒有值時,不能解除迭代器的引用。

通常,begin() 和 end() 用於透過給它們提供範圍來迭代 map 容器。

語法

multimap_name.end();

引數

此函式不接受任何引數。

返回值

如果我們執行上述程式碼,它將生成以下輸出:

輸入

std::multimap<int> mymap;
mymap.insert({‘a’, 10});
mymap.insert({‘b’, 20});
mymap.insert({‘c’, 30});
mymap.end();

輸出

error

示例

multimap::end()

線上演示

#include <bits/stdc++.h>
using namespace std;
int main(){
   multimap<int, int> mul;
   //inserting elements in multimap
   mul.insert({ 1, 10 });
   mul.insert({ 2, 20 });
   mul.insert({ 3, 30 });
   mul.insert({ 4, 40 });
   mul.insert({ 5, 50 });
   //displaying multimap elements
   cout << "\nElemenst in multimap is : \n";
   cout << "KEY\tELEMENT\n";
   for (auto it = mul.begin(); it!= mul.end(); ++it){
      cout << it->first << '\t' << it->second << '\n';
   }
   return 0;
}

輸出

如果我們執行上述程式碼,它將生成以下輸出:

Elements in multimap is :
KEY ELEMENT
1 10
2 20
3 30
4 40
5 50

更新於:2020年4月22日

403 次瀏覽

啟動你的職業生涯

完成課程獲得認證

開始學習
廣告