Libreria C ++ - <map>
Introduzione alla mappa
La mappa è una struttura dati simile a un dizionario. È una sequenza di coppie (chiave, valore), in cui un solo valore è associato a ciascuna chiave univoca. Viene spesso definito array associativo .
Nella mappa i valori chiave generalmente utilizzati per ordinare gli elementi. Per i dati della mappa, il tipo di chiave e valore può differire ed è rappresentato come
typedef pair<const Key, T> value_type;
Le mappe vengono in genere implementate come albero di ricerca binario.
Sono valide anche le mappe a dimensione zero. In tal caso map.begin () e map.end () punta alla stessa posizione.
Definizione
Di seguito è riportata la definizione di std :: map dal file di intestazione <map>
template < class Key,
class T,
class Compare = less<Key>,
class Alloc = allocator<pair<const Key,T> >
> class map;
Parametri
Key - Tipo di chiave.
T - Tipo di valori mappati.
Compare - Un predicato binario che accetta due chiavi di elemento come argomenti e restituisce un valore bool.
Alloc - Tipo di oggetto allocatore.
T può essere sostituito da qualsiasi altro tipo di dati incluso il tipo definito dall'utente.
Tipi di membri
I seguenti tipi di membro possono essere usati come parametri o tipo restituito dalle funzioni membro.
Sr.No. | Tipi di membri | Definizione |
---|---|---|
1 | tipo_chiave | Chiave (primo parametro del modello) |
2 | mapped_type | T (Secondo parametro del modello) |
3 | key_compare | Confronta (Terzo parametro del modello) |
4 | allocator_type | Alloc (quarto parametro del modello) |
5 | value_type | coppia <const key_type, mapped_type> |
6 | value_compare | Classe di funzione annidata per confrontare gli elementi |
7 | riferimento | allocator_type :: riferimento |
8 | const_reference | allocator_type :: const_reference |
9 | puntatore | allocator_type :: pointer |
10 | const_pointer | allocator_type :: const_pointer |
11 | iteratore | iteratore bidirezionale per value_type |
12 | const_iterator | iteratore bidirezionale per const value_type |
13 | reverse_iterator | iteratore inverso |
14 | const_reverse_iterator | iteratore inverso costante |
15 | differenza_tipo | ptrdiff_t |
16 | size_type | size_t |
Funzioni da <map>
Di seguito è riportato un elenco di tutti i metodi dall'intestazione <map>.
Costruttori
Sr.No. | Metodo e descrizione |
---|---|
1 | map :: map costruttore predefinito Costruisce una mappa vuota con zero elementi. |
2 | map :: map range costruttore Costruisce una mappa con il maggior numero di elementi come nella gamma di prima per ultima . |
3 | map :: map copy costruttore Costruisce una mappa con copia di ogni elemento presente nella mappa esistente. |
4 | map :: map move costruttore Costruisce una mappa con i contenuti di altri utilizzando la semantica di spostamento. |
5 | map :: map costruttore dell'elenco di inizializzatori Costruisce una mappa dall'elenco di inizializzazione. |
Distruttore
Sr.No. | Metodo e descrizione |
---|---|
1 | map :: ~ map Distrugge l'oggetto mappa deallocando la sua memoria. |
Funzioni dei membri
Sr.No. | Metodo e descrizione |
---|---|
1 | mappa :: at Restituisce un riferimento al valore mappato associato alla chiave k . |
2 | mappa :: inizio Restituisce un iteratore che fa riferimento al primo elemento della mappa. |
3 | map :: cbegin Restituisce un iteratore costante che fa riferimento al primo elemento della mappa. |
4 | mappa :: cend Restituisce un iteratore costante che punta all'elemento oltre la fine della mappa. |
5 | map :: clear Distrugge la mappa rimuovendo tutti gli elementi e imposta la dimensione della mappa su zero. |
6 | map :: count Restituisce il numero di valori mappati associati alla chiave k . |
7 | map :: crbegin Restituisce un iteratore inverso costante che punta all'ultimo elemento del contenitore i. |
8 | mappa :: crend Restituisce un iteratore inverso costante che punta all'elemento teorico che precede il primo elemento nel contenitore i. |
9 | mappa :: emplace Estende il contenitore inserendo un nuovo elemento. |
10 | map :: emplace_hint versione suggerimento Inserisce un nuovo elemento in una mappa utilizzando il suggerimento come posizione per l'elemento. |
11 | mappa :: vuoto Verifica se la mappa è vuota o meno. |
12 | mappa :: fine Restituisce un iteratore che punta all'elemento oltre la fine nella mappa. |
13 | map :: intervallo_equal Restituisce un intervallo di elementi che corrisponde a una chiave specifica. |
14 | mappa :: cancella la versione della posizione Rimuove un singolo elemento della mappa dalla posizione . |
15 | mappa :: cancella la versione della posizione Rimuove un singolo elemento della mappa dalla posizione . |
16 | map :: tasto di cancellazione Rimuove il valore mappato associato alla chiave k . |
17 | mappa :: cancella la versione dell'intervallo Rimuove l'intervallo di elementi dalla mappa. |
18 | mappa :: cancella la versione dell'intervallo Rimuove l'intervallo di elementi dalla mappa. |
19 | mappa :: trova Trova un elemento associato alla chiave k . |
20 | map :: get_allocator Restituisce un allocatore associato alla mappa. |
21 | map :: inserisce un singolo elemento Estende il contenitore inserendo un nuovo elemento nella mappa. |
22 | map :: inserire la versione del suggerimento Estende il contenitore inserendo un nuovo elemento nella mappa. |
23 | map :: inserire la versione della gamma Estende il contenitore inserendo nuovi elementi nella mappa. |
24 | mappa :: inserisce la versione del suggerimento di spostamento Estende la mappa inserendo un nuovo elemento. |
25 | map :: inserire la versione dell'elenco di inizializzatori Estende la mappa inserendo un nuovo elemento dall'elenco degli inizializzatori. |
26 | map :: key_comp Restituisce un oggetto funzione che confronta le chiavi, che è una copia dell'argomento costruttore di questo contenitore comp . |
27 | map :: lower_bound Restituisce un iteratore che punta al primo elemento che non è inferiore alla chiave k . |
28 | map :: max_size Restituisce il numero massimo di elementi che può essere tenuto dalla mappa. |
29 | map :: operator = copia versione Assegna nuovi contenuti alla mappa sostituendo quelli vecchi e, se necessario, modifica le dimensioni. |
30 | map :: operator = sposta versione Sposta il contenuto di una mappa in un'altra e modifica le dimensioni se necessario. |
31 | map :: operator = versione elenco inizializzatori Copia gli elementi dall'elenco degli inizializzatori alla mappa. |
32 | map :: operator [] copia la versione Se la chiave k corrisponde a un elemento nel contenitore, il metodo restituisce un riferimento all'elemento. |
33 | map :: operator [] sposta versione Se la chiave k corrisponde a un elemento nel contenitore, il metodo restituisce un riferimento all'elemento. |
34 | map :: rbegin Restituisce un iteratore inverso che punta all'ultimo elemento della mappa. |
35 | mappa :: rend Restituisce un iteratore inverso che punta all'estremità inversa della mappa i. |
36 | mappa :: dimensioni Restituisce il numero di elementi presenti nella mappa. |
37 | map :: swap Scambia il contenuto della mappa con il contenuto della mappa x. |
38 | map :: upper_bound Restituisce un iteratore che punta al primo elemento che è maggiore della chiave k . |
39 | map :: value_comp Restituisce un oggetto funzione che confronta oggetti di tipo std :: map :: value_type . |
Funzioni di sovraccarico non membro
Sr.No. | Metodo e descrizione |
---|---|
1 | operatore == Verifica se due mappe sono uguali o meno. |
2 | operatore! = Verifica se due mappe sono uguali o meno. |
3 | operatore < Verifica se la prima mappa è minore dell'altra oppure no. |
4 | map :: operator <= Verifica se la prima mappa è minore o uguale ad altre oppure no. |
5 | operatore> Verifica se la prima mappa è maggiore dell'altra oppure no. |
6 | operatore> = Verifica se la prima mappa è maggiore o uguale ad altre oppure no. |
7 | scambiare() Scambia il contenuto della mappa con il contenuto della mappa x. |
Introduzione alla multimappa
Multimap è una struttura dati simile a un dizionario. È una sequenza di coppie (chiave, valore) , in cui più valori possono essere associati a chiavi equivalenti. Viene spesso definito array associativo .
Nei valori chiave multimappa generalmente utilizzati per ordinare gli elementi. Per il tipo di dati multimap di chiave e valore può differire e viene rappresentato come
typedef pair<const Key, T> value_type;
Le mappe multiple vengono in genere implementate come albero di ricerca binario.
Sono valide anche le multimappa di dimensione zero. In quel caso multimap.begin () e multimap.end () punta alla stessa posizione.
Definizione
Di seguito è riportata la definizione di std :: multimap dal file di intestazione <multimap>
template < class Key,
class T,
class Compare = less<Key>,
class Alloc = allocator<pair<const Key,T> >
> class multimap;
Parametri
Key - Tipo di chiave.
T - Tipo di valori mappati.
Compare - Un predicato binario che accetta due chiavi di elemento come argomenti e restituisce un valore bool.
Alloc - Tipo di oggetto allocatore.
T può essere sostituito da qualsiasi altro tipo di dati incluso il tipo definito dall'utente.
Tipi di membri
I seguenti tipi di membro possono essere usati come parametri o tipo restituito dalle funzioni membro.
Sr.No. | Tipi di membri | Definizione |
---|---|---|
1 | tipo_chiave | Chiave (primo parametro del modello) |
2 | mapped_type | T (Secondo parametro del modello) |
3 | key_compare | Confronta (Terzo parametro del modello) |
4 | allocator_type | Alloc (quarto parametro del modello) |
5 | value_type | coppia <const key_type, mapped_type> |
6 | value_compare | Classe di funzione annidata per confrontare gli elementi |
7 | riferimento | allocator_type :: riferimento |
8 | const_reference | allocator_type :: const_reference |
9 | puntatore | allocator_type :: pointer |
10 | const_pointer | allocator_type :: const_pointer |
11 | iteratore | iteratore bidirezionale per value_type |
12 | const_iterator | iteratore bidirezionale per const value_type |
13 | reverse_iterator | iteratore inverso |
14 | const_reverse_iterator | iteratore inverso costante |
15 | differenza_tipo | ptrdiff_t |
16 | size_type | size_t |
Funzioni da <multimap>
Di seguito è riportato un elenco di tutti i metodi dall'intestazione <multimap>.
Costruttori
Sr.No. | Metodo e descrizione |
---|---|
1 | multimap :: costruttore predefinito multimap Costruisce una mappa multipla vuota con zero elementi. |
2 | multimap :: costruttore di intervalli multimap Costruisce un multimap con maggior numero di elementi nella gamma di prima per ultimo . |
3 | multimap :: costruttore di copie multimap Costruisce una multimappa con copia di ogni elemento presente nella multimappa esistente. |
4 | multimap :: costruttore di mosse multimap Costruisce una mappa multipla con i contenuti di altri utilizzando la semantica di spostamento. |
5 | multimap :: costruttore dell'elenco di inizializzatori multimap Costruisce una mappa multipla dall'elenco di inizializzazione. |
Distruttore
Sr.No. | Metodo e descrizione |
---|---|
1 | multimap :: ~ multimap Distrugge l'oggetto multimappa deallocando la sua memoria. |
Funzioni dei membri
Sr.No. | Metodo e descrizione |
---|---|
1 | multimap :: inizio Restituisce un iteratore che fa riferimento al primo elemento della multimappa. |
2 | multimap :: cbegin Restituisce un iteratore costante che fa riferimento al primo elemento della multimappa. |
3 | multimap :: cend Restituisce un iteratore costante che punta all'elemento oltre la fine della mappa multipla. |
4 | multimap :: clear Distrugge la multimappa rimuovendo tutti gli elementi e imposta la dimensione della multimappa su zero. |
5 | multimap :: count Restituisce il numero di valori multimappati associati alla chiave k . |
6 | multimap :: crbegin Restituisce un iteratore inverso costante che punta all'ultimo elemento del contenitore. |
7 | multimap :: crend Restituisce un iteratore inverso costante che punta all'elemento teorico che precede il primo elemento nel contenitore. |
8 | multimap :: emplace Estende il contenitore inserendo un nuovo elemento. |
9 | multimap :: emplace_hint versione suggerimento Inserisce un nuovo elemento in una mappa multipla utilizzando il suggerimento come posizione per l'elemento. |
10 | multimap :: vuoto Verifica se la multimappa è vuota o meno. |
11 | multimap :: end Restituisce un iteratore che punta all'elemento oltre la fine nella mappa multipla. |
12 | multimap :: intervallo_equal Restituisce un intervallo di elementi che corrisponde a una chiave specifica. |
13 | multimap :: cancella la versione della posizione Rimuove un singolo elemento della multimappa dalla posizione . |
14 | multimap :: cancella la versione della posizione Rimuove un singolo elemento della multimappa dalla posizione . |
15 | multimap :: tasto di cancellazione Rimuove il valore mappato associato alla chiave k . |
16 | multimap :: cancella la versione della gamma Rimuove l'intervallo di elementi dalla mappa multipla. |
17 | multimap :: cancella la versione della gamma Rimuove l'intervallo di elementi dalla mappa multipla. |
18 | multimap :: trova Trova un elemento associato alla chiave k . |
19 | multimap :: get_allocator Restituisce un allocatore associato a multimappa. |
20 | multimap :: inserisce un singolo elemento Estende il contenitore inserendo un nuovo elemento in multimappa. |
21 | multimap :: inserire la versione del suggerimento Estende il contenitore inserendo un nuovo elemento in multimappa. |
22 | multimap :: inserire la versione della gamma Estende il container inserendo nuovi elementi nella multimappa. |
23 | multimap :: inserisce la versione del suggerimento di spostamento Estende la multimappa inserendo un nuovo elemento. |
24 | multimap :: inserire la versione dell'elenco di inizializzatori Estende la multimappa inserendo un nuovo elemento dall'elenco degli inizializzatori. |
25 | multimap :: key_comp Restituisce un oggetto funzione che confronta le chiavi, che è una copia dell'argomento costruttore di questo contenitore comp . |
26 | multimap :: lower_bound Restituisce un iteratore che punta al primo elemento che non è inferiore alla chiave k . |
27 | multimap :: max_size Restituisce il numero massimo di elementi che può essere trattenuto dalla multimappa. |
28 | multimap :: operator = copia versione Assegna nuovi contenuti alla multimappa sostituendo quelli vecchi e modifica le dimensioni se necessario. |
29 | multimap :: operator = sposta versione Sposta il contenuto di una multimappa in un'altra e modifica le dimensioni se necessario. |
30 | multimap :: operator = versione elenco inizializzatori Copia gli elementi dall'elenco degli inizializzatori alla multimappa. |
31 | multimap :: rbegin Restituisce un iteratore inverso che punta all'ultimo elemento della mappa multipla. |
32 | multimap :: rend Restituisce un iteratore inverso che punta all'estremità inversa della mappa multipla. |
33 | multimap :: size Restituisce il numero di elementi presenti nella multimappa. |
34 | multimap :: swap Scambia il contenuto di multimap con il contenuto di multimap x. |
35 | multimap :: upper_bound Restituisce un iteratore che punta al primo elemento che è maggiore della chiave k . |
36 | multimap :: value_comp Restituisce un oggetto funzione che confronta oggetti di tipo std :: multimap :: value_type . |
Funzioni di sovraccarico non membro
Sr.No. | Metodo e descrizione |
---|---|
1 | operatore == Verifica se due multimap sono uguali o meno. |
2 | operatore! = Verifica se due multimap sono uguali o meno. |
3 | operatore < Verifica se la prima mappa multipla è minore di altre o meno. |
4 | multimap :: operator <= Verifica se la prima mappa multipla è minore o uguale ad altre oppure no. |
5 | operatore> Verifica se la prima mappa multipla è maggiore di altre o meno. |
6 | operatore> = Verifica se la prima mappa multipla è maggiore o uguale ad altre oppure no. |
7 | scambiare() Scambia il contenuto di multimap con il contenuto di multimap x. |