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
建構函式
建構清單特定大小或具有特定值的項目或與特定 allocator 或做為其他對應複本。 |
Typedef
初始化 allocator 類別的新 typedef 對應物件的。 |
|
可以讀取對應的 const 項目的雙向 Iterator 的 typedef。 |
|
指標的 typedef 至對應的 const 項目。 |
|
一個 typedef 參考在讀取和執行 const 作業對應中的 const 項目。 |
|
提供雙向 Iterator 可讀取對應中的所有 const 項目的型別。 |
|
對應之項目數的帶正負號的整數 typedef 中某個範圍的項目之間所指向的 Iterator。 |
|
可以讀取或修改對應中的所有項目的雙向 Iterator 的 typedef。 |
|
可比較兩個排序鍵判斷兩個項目相對順序對應中的函式物件的 typedef。 |
|
對應中的每個項目儲存排序鍵的 typedef。 |
|
對應中的每個項目所儲存之資料的 typedef。 |
|
指標的 typedef 至對應的 const 項目。 |
|
一個 typedef 參考位於對應中的項目。 |
|
可以讀取或修改已反轉對應中的項目的雙向 Iterator 的 typedef。 |
|
項目數目的不帶正負號的整數 typedef 對應中的 |
|
為項目儲存之物件型別的 typedef 對應。 |
方法
尋找具有指定之索引鍵值的項目。 |
|
傳回指向對應中的第一個項目的 Iterator。 |
|
傳回指向對應中的第一個項目的常數 Iterator。 |
|
傳回常數傳遞此結束 Iterator。 |
|
清除對應中的所有項目。 |
|
傳回項目數的相符索引鍵在參數所指定之對應的。 |
|
傳回指向已反轉對應的第一個項目的常數 Iterator。 |
|
傳回指向位置,在反轉對應的最後一個項目後面的常數 Iterator。 |
|
插入建構的項目就地輸入對應。 |
|
插入建構的項目就地輸入對應,以放置提示。 |
|
如果對應是空的,則傳回 true 。 |
|
傳回透過此結束 Iterator。 |
|
傳回一組 Iterator。將點的第一個 Iterator 遞增至 map 的第一個項目與大於指定的按鍵。在對按的第二個 Iterator 遞增至 map 的第一個項目具有等於或大於按鍵。 |
|
從指定的位置移除項目的範圍對應中的。 |
|
傳回指向項目位置在對應中沒有索引鍵等於指定按鍵的 Iterator。 |
|
傳回用來建構對應 allocator 物件的複本。 |
|
插入項目或某個範圍的對應於指定的位置。 |
|
傳回用來排序輸入對應比較物件的複本。 |
|
傳回 Iterator 遞增至具有一個索引鍵值等於或大於所指定的索引鍵對應的第一個項目。 |
|
傳回對應的最大長度。 |
|
傳回指向已反轉對應的第一個項目的 Iterator。 |
|
傳回指向位置,在反轉對應後的最後一個項目的 Iterator。 |
|
傳回項目數對應的。 |
|
交換兩個對應中的項目。 |
|
傳回 Iterator 遞增至具有一個索引鍵值大於指定的索引鍵對應的第一個項目。 |
|
擷取用於排序對應中的項目值比較物件的複本。 |
運算子
將項目插入具有指定之索引鍵值的對應。 |
|
用另一個對應複本取代對應的項目。 |
需求
標題: <map>
命名空間: 可以