共用方式為


unordered_multimap::insert

將某個元素或元素範圍插入 unordered_multimap 中。

// (1) single element pair<iterator, bool> insert(     const value_type& Val );   // (2) single element, perfect forwarded template<class ValTy> pair<iterator, bool> insert(     ValTy&& Val );  // (3) single element with hint iterator insert(     const_iterator Where,     const value_type& Val );   // (4) single element, perfect forwarded, with hint template<class ValTy> iterator insert(     const_iterator Where,     ValTy&& Val );  // (5) range  template<class InputIterator>  void insert(     InputIterator First,     InputIterator Last );   // (6) initializer list void insert(     initializer_list<value_type> IList ); 

參數

參數

描述

Val

要插入至 unordered_multimap 的元素值。

Where

要開始搜尋正確的插入點的地方。

ValTy

範本參數,指定 unordered_multimap 可用於建構 value_type 的元素的引數類型,並將 Val 做為引數完美轉送。

First

要複製之第一個元素的位置。

Last

要複製之最一個元素後方的位置。

InputIterator

範本函式引數,符合輸入迭代器的需求,而迭代器會指向可用於建構 value_type 物件之類型的元素。

IList

要從中複製元素的 initializer_list

傳回值

單一元素插入成員函式 (1) 和 (2),會將迭代器傳回至在 unordered_multimap 中插入新元素的位置。

具有提示的單一元素成員函式 (3) 和 (4),會傳回迭代器,其指向在 unordered_multimap 中插入新元素的位置。

備註

此函式不會使指標或參考無效,但是可能會使容器的所有迭代器無效。

在只插入一個元素的期間,若擲出例外狀況,但沒有發生在容器的雜湊函式中,則不會修改容器的狀態。 若雜湊函式中擲回例外狀況,則結果為未定義。 在插入多個元素期間,若擲出例外狀況,則容器會處於未指定但有效的狀態。

容器的 value_type 是屬於容器的 typedef,而針對 map,map<K, V>::value_type 是 pair<const K, V>。 元素的值是已排序的配對,其中第一個元件等於索引鍵值,而第二個元件等於元素的資料值。

範圍成員函式 (5) 會將元素值序列插入 unordered_multimap,而 unordered_multimap 對應至範圍 [First, Last) 中迭代器指定的每個元素;因此不會插入 Last。 容器成員函式 end() 是指容器中最後一個元素後方的位置;例如,陳述式 m.insert(v.begin(), v.end()); 會將 v 的所有元素插入至 m。

初始設定式清單成員函式 (6) 使用 initializer_list 將元素複製到 unordered_multimap。

如需插入就地建構的元素 (換言之即為未執行複製或移動作業),請參閱 unordered_multimap::emplaceunordered_multimap::emplace_hint

如需程式碼範例,請參閱multiset::insert

需求

標頭:<unordered_map>

命名空間: std

請參閱

參考

<unordered_map>

unordered_multimap 類別

標準樣板程式庫