C++ STL 中的 map emplace()


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

什麼是 C++ STL 中的 Map?

Map 是關聯容器,它可以方便地以特定順序儲存由鍵值對組成的元素。在 map 容器中,資料內部始終使用關聯鍵進行排序。map 容器中的值可以透過其唯一的鍵進行訪問。

什麼是 map::emplace()?

map::emplace() 是一個位於 <map> 標頭檔案中的函式。此函式構造並將一個元素插入到關聯的 map 容器中。

如果要插入的元素的鍵是唯一的,則 emplace() 會插入新元素。只有當沒有與要插入的值具有相同鍵的元素時,才會進行插入。此函式的工作方式與 insert() 相同,它會將現有物件複製或移動到容器中。

如果成功插入元素,則容器的大小將增加 1。

語法

map_name.emplace(Args&& args);

引數

此函式接受以下引數:

args − 我們想要放置或插入的引數或值。

返回值

如果插入成功,則函式返回指向已插入新元素的迭代器。否則,它返回指向容器中已存在的值的迭代器。

輸入

map<char, int> newmap;
emplace( ‘a’, 1);

輸出

a

示例

 線上演示

#include <bits/stdc++.h>
using namespace std;
int main() {
   map<int, int> TP_Map;
   TP_Map.emplace(4, 50);
   TP_Map.emplace(2, 30);
   TP_Map.emplace(1, 10);
   TP_Map.emplace(1, 20);
   TP_Map.emplace(1, 30);
   cout<<"TP Map is : \n";
   cout << "MAP_KEY\tMAP_ELEMENT\n";
   for (auto i = TP_Map.begin(); i!= TP_Map.end(); i++)
      cout << i->first << "\t" << i->second << endl;
   return 0;
}

輸出

TP Map is:
MAP_KEY    MAP_ELEMENT
1             10
2             30
4             50

更新於:2020年4月15日

645 次檢視

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告