map Class

用於資料儲存和擷取每個項目都是對資料值和一個排序鍵的集合中。 索引鍵的值是唯一的和使用自動排序資料。

可以直接變更項目的值在對應的。 這個索引鍵值是常數,且無法變更。 相反地,必須刪除索引鍵值與舊項目,因此,必須為新的項目插入新的索引鍵值。

template <
   class Key, 
   class Type, 
   class Traits = less<Key>, 
   class Allocator=allocator<pair <const Key, Type> > 
>
class map

參數

  • Key
    在對應中儲存的資料型別。

  • Type
    在對應中儲存項目的資料型別。

  • Traits
    提供函式物件可以比較兩個項目值做為排序鍵判斷其對應中的相對順序的型別。 這個引數是選擇性的,而且二進位述詞 less<Key> 是預設值。

  • Allocator
    代表儲存的配置器物件型別封裝詳細資料與記憶體的對應的配置和解除配置。 這個引數是選擇性的,預設值為 allocator<pair<constKeyType*,* 否則為> >。

備註

Standard Template Library (STL) 對應類別包括:

  • 有效率地擷取項目值的容器可變大小根據關聯的索引鍵值。

  • 雙面布料,,因為它提供雙向 Iterator 存取其項目。

  • 排序,,因為它的項目索引鍵值排序依據指定的比較函式。

  • 唯一。 因為其項目都必須具有唯一的索引鍵。

  • 與關聯的容器,,因為其元素的資料值已經從其索引鍵值是不同的。

  • 樣板類別,,因為它提供的功能是項目或索引鍵型別的泛型和無關。 套用至項目和索引鍵的資料型別指定為參數在類別樣板與比較函式和配置器。

對應類別提供的 Iterator 是雙向 Iterator,不過, 插入導覽 類別的成員函式不接受當做樣板參數較弱的輸入 Iterator,功能需要少於雙向 Iterator 類別保證會是的版本。 不同的 Iterator 概念由其功能的修改關聯性。 每個 Iterator 概念有自己的一組需求,因此,一起使用的演算法必須由那些要求限制。 輸入 Iterator 可能已取值參考物件的陣列,而且可能會加入至序列中的下一個 Iterator。

建議您根據容器型別選取這種搜尋,以及該應用程式需要插入。 關聯的容器為搜尋、插入和移除作業進行最佳化。 這個成員函式在時間明確支援這些作業執行它們平均比例與項目數目) 在容器中。 插入項目不無效 Iterator,,並移除項目沒有特別指向已移除的項目僅 Iterator。

我們建議您使用對應關聯的容器中,當與值與索引鍵時的條件是由應用程式內容。 這種模型的結構與字串值提供定義唯一發生的按鍵的已排序清單。 如果文字具有一個以上的正確定義,因此,索引鍵不是唯一的,則多重對應是容器中。 如果儲存文字清單,則設定為適當的容器。 如果文字的多個事件允許,則多重集是適當的。

它會藉由呼叫 key_compare型別所儲存的函式物件控制項的對應排序項目。 這個儲存物件是藉由呼叫 key_comp 方法存取的比較函式。 一般而言,任何兩個特定項目比較判斷一個是否小於另一個或兩者是否相等。 當所有項目進行比較,產生非對等的項目序列建立。

注意事項注意事項

比較函式是產生在標準數學概念的嚴格弱式順序的二元述詞。二進位述詞 f(x,y) 是有兩個引數的 x 物件和 y的函式物件和傳回值 true 或 false。將集合中指定的順序是嚴格弱式順序,如果二進位述詞是非反身屬性,物件名稱和傳遞的,因此,如果等值,是傳遞的,其中兩個物件的 x 和 y 定義相等,當 f(x,y)為且 f(y,x) 為 false時。如果相等的更強的狀況。索引鍵間的相等,則取代該定序變得總 (也就是將所有項目排序關於其他),因此,相符索引鍵的項目從其他會難以辨別的。

Members

s44w4h2s.collapse_all(zh-tw,VS.110).gif建構函式

地圖

建構清單特定大小或具有特定值的項目或與特定 allocator 或做為其他對應複本。

s44w4h2s.collapse_all(zh-tw,VS.110).gifTypedef

allocator_type

初始化 allocator 類別的新 typedef 對應物件的。

const_iterator

可以讀取對應的 const 項目的雙向 Iterator 的 typedef。

const_pointer

指標的 typedef 至對應的 const 項目。

const_reference

一個 typedef 參考在讀取和執行 const 作業對應中的 const 項目。

const_reverse_iterator

提供雙向 Iterator 可讀取對應中的所有 const 項目的型別。

difference_type

對應之項目數的帶正負號的整數 typedef 中某個範圍的項目之間所指向的 Iterator。

Iterator

可以讀取或修改對應中的所有項目的雙向 Iterator 的 typedef。

key_compare

可比較兩個排序鍵判斷兩個項目相對順序對應中的函式物件的 typedef。

key_type

對應中的每個項目儲存排序鍵的 typedef。

mapped_type

對應中的每個項目所儲存之資料的 typedef。

pointer

指標的 typedef 至對應的 const 項目。

參照

一個 typedef 參考位於對應中的項目。

reverse_iterator

可以讀取或修改已反轉對應中的項目的雙向 Iterator 的 typedef。

size_type

項目數目的不帶正負號的整數 typedef 對應中的

value_type

為項目儲存之物件型別的 typedef 對應。

s44w4h2s.collapse_all(zh-tw,VS.110).gif方法

map::at

尋找具有指定之索引鍵值的項目。

begin

傳回指向對應中的第一個項目的 Iterator。

map::cbegin

傳回指向對應中的第一個項目的常數 Iterator。

map::cend

傳回常數傳遞此結束 Iterator。

clear

清除對應中的所有項目。

count

傳回項目數的相符索引鍵在參數所指定之對應的。

map::crbegin

傳回指向已反轉對應的第一個項目的常數 Iterator。

map::crend

傳回指向位置,在反轉對應的最後一個項目後面的常數 Iterator。

map::emplace

插入建構的項目就地輸入對應。

map::emplace_hint

插入建構的項目就地輸入對應,以放置提示。

empty

如果對應是空的,則傳回 true 。

end

傳回透過此結束 Iterator。

equal_range

傳回一組 Iterator。 將點的第一個 Iterator 遞增至 map 的第一個項目與大於指定的按鍵。 在對按的第二個 Iterator 遞增至 map 的第一個項目具有等於或大於按鍵。

清除

從指定的位置移除項目的範圍對應中的。

find

傳回指向項目位置在對應中沒有索引鍵等於指定按鍵的 Iterator。

get_allocator

傳回用來建構對應 allocator 物件的複本。

插入

插入項目或某個範圍的對應於指定的位置。

key_comp

傳回用來排序輸入對應比較物件的複本。

lower_bound

傳回 Iterator 遞增至具有一個索引鍵值等於或大於所指定的索引鍵對應的第一個項目。

max_size

傳回對應的最大長度。

rbegin

傳回指向已反轉對應的第一個項目的 Iterator。

rend

傳回指向位置,在反轉對應後的最後一個項目的 Iterator。

size

傳回項目數對應的。

切換

交換兩個對應中的項目。

upper_bound

傳回 Iterator 遞增至具有一個索引鍵值大於指定的索引鍵對應的第一個項目。

value_comp

擷取用於排序對應中的項目值比較物件的複本。

s44w4h2s.collapse_all(zh-tw,VS.110).gif運算子

operator[]

將項目插入具有指定之索引鍵值的對應。

map::operator=

用另一個對應複本取代對應的項目。

需求

標題: <map>

命名空間: 可以

請參閱

參考

在標準 C++ 程式庫中的執行緒安全

標準樣板程式庫

其他資源

對應成員

<map> 成員