Condividi tramite


map Class

Utilizzato per l'archiviazione e il recupero di dati da una raccolta in cui ogni elemento è una coppia che contiene sia un valore di dati che una chiave di ordinamento.Il valore della chiave è univoco e viene utilizzato automaticamente per ordinare i dati.

Il valore di un elemento in una mappa può essere modificato direttamente.Il valore della chiave è una costante e non può essere modificato.Invece, i valori della chiave associati a elementi obsoleti devono essere eliminati e i nuovi valori della chiave devono essere inseriti per i nuovi elementi.

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

Parametri

  • Key
    Il tipo di dati chiave da archiviare nella mappa.

  • Type
    Il tipo di dati degli elementi da archiviare nella mappa.

  • Traits
    Il tipo che fornisce un oggetto funzione che può confrontare due valori degli elementi come chiavi di ordinamento per determinare il relativo ordine relativo nella mappa.Questo argomento è facoltativo e il predicato binario less<Key> è il valore predefinito.

  • Allocator
    Il tipo che rappresenta l'oggetto memorizzato di allocatore che incapsula informazioni dettagliate sull'allocazione e la deallocazione del mapping della memoria.Questo argomento è facoltativo e il valore predefinito è allocator<pair<constKey*,* Type> >.

Note

La classe standard di mapping di (STL) la libreria di modelli è:

  • Un contenitore di dimensione variabile che recupera efficientemente i valori degli elementi in base ai valori della chiave collegati.

  • Reversibile, in quanto fornisce gli iteratori bidirezionali per accedere ai relativi elementi.

  • Ordinato, perché i relativi elementi vengono ordinati in base ai valori della chiave come una funzione di confronto specificata.

  • Univoco.perché ognuno dei relativi elementi deve avere una chiave univoca.

  • Un contenitore coppia- associativo, in quanto i valori di dati degli elementi sono diversi dai valori della chiave.

  • Una classe modello, poiché la funzionalità disponibile in è generica e indipendente dall'elemento o dal tipo di chiave.I tipi di dati utilizzati per gli elementi e le chiavi sono specificati come parametri nel modello di classe con la funzione di confronto e a allocatore.

Un iteratore fornito dalla classe di mapping è un iteratore bidirezionale, ma le funzioni membro delle classi di mapping e di inserimento dispongono di versioni che accettano come parametri di template un iteratore di input più debole, con requisiti di funzionalità sono meno che quelli garantiti dalla classe di iteratori bidirezionali.I concetti diversi iteratori sono correlati dai perfezionamenti la funzionalità.Ogni concetto di iteratore dispone di un set di requisiti e gli algoritmi che utilizzano devono essere limitati dai requisiti.Un iteratore di input è possibile dereferenziare per fare riferimento a un oggetto e può essere incrementato all'iteratore successivo nella sequenza.

È consigliabile basa la scelta del tipo contenitore sul tipo di ricerca e inserire richiesto dall'applicazione.I contenitori associativi ottimizzate per le operazioni di ricerca, l'inserimento e la rimozione.Le funzioni membro che in modo esplicito supportano queste operazioni le eseguono in un periodo di tempo in media proporzionale al logaritmo il numero di elementi nel contenitore.Inserendo gli elementi non invalida iteratori e rimozione di elementi invalida solo gli iteratori che in particolare a cui fa riferimento agli elementi eliminati.

Si consiglia effettuate al mapping del contenitore associativo di scelta quando le condizioni che associano valori delle chiavi vengono soddisfatte dall'applicazione.Un modello per questo tipo di struttura è un elenco ordinato delle parole chiave in modo univoco verificantesi a cui sono associati valori stringa che forniscono le definizioni.Se una parola ha più definizioni corretta, in modo che la chiave non è univoco, un multimap sarebbe il contenitore di scelta.Se solo nell'elenco di parole l'archiviazione, un set sarebbe il contenitore appropriato.Se a più occorrenze delle parole sono consentite, un multi-insieme sarebbe appropriato.

Il mapping ordina gli elementi che controlla chiamando un oggetto funzione archiviato di tipo key_compare.Questo oggetto archiviato è una funzione di confronto che viene eseguito chiamando il metodo di key_comp.Tutti gli due elementi specificati vengono confrontati in genere per determinare se un oggetto è inferiore all'altro oppure se sono equivalenti.Mentre tutti gli elementi confrontati, una sequenza ordinata di elementi antivalenti viene creata.

[!NOTA]

La funzione di confronto è un predicato binario che provoca un ordine debole rigido nel senso matematico standard.Un predicato binario f(x,y) è un oggetto funzione che ha due oggetti x e y' argomento e un valore restituito di true o di false.Un ordine imposto a un set è un ordine debole rigido se il predicato binario è irreflexive, antisimmetrico e transitivo e se l'equivalenza sia transitiva, in cui due oggetti x e y sono definiti come equivalenti quando si f(x,y)che f(y,x) è false.Se il più sicuro stato di uguaglianza tra le chiavi sostituisce quello di equivalenza, l'ordine diventa totale (nel senso che tutti gli elementi vengono ordinati in base a un altro) e chiavi trovate corrispondenze verranno indistinguibili da un altro.

Membri

s44w4h2s.collapse_all(it-it,VS.110).gifCostruttori

mappa

Crea un elenco di dimensioni o con gli elementi di un valore specifico o con allocator specifico o come copia di un altro mapping.

s44w4h2s.collapse_all(it-it,VS.110).gifDefinizioni typedef

allocator_type

Un typedef per la classe di allocator per l'oggetto di mapping.

const_iterator

Un typedef per un iteratore bidirezionale che può leggere un elemento di const nella mappa.

const_pointer

Un typedef per un puntatore a un elemento di const in un mapping.

const_reference

Un typedef per un riferimento a un elemento di const archiviato in un mapping per la lettura e l'esecuzione di operazioni di const.

const_reverse_iterator

Un tipo che fornisce un iteratore bidirezionale in grado di leggere qualsiasi elemento di const nella mappa.

difference_type

Un typedef interi con segno per il numero di elementi di un mapping di un intervallo tra elementi indicato dagli iteratori.

iteratore

Un typedef per un iteratore bidirezionale in grado di leggere o modificare qualsiasi elemento in un mapping.

key_compare

Un typedef per un oggetto funzione che può confrontare due chiavi di ordinamento per determinare l'ordine relativo di due elementi nella mappa.

key_type

Un typedef per una chiave di ordinamento archiviata in ogni elemento mapping.

mapped_type

Un typedef per i dati archiviati in ogni elemento di una mappa.

pointer

Un typedef per un puntatore a un elemento di const in un mapping.

riferimenti

Un typedef per un riferimento a un elemento memorizzato in un mapping.

reverse_iterator

Un typedef per un iteratore bidirezionale in grado di leggere o modificare un elemento in un mapping inverso.

size_type

Un typedef Integer senza segno per il numero di elementi in un mapping

value_type

Un typedef per il tipo di oggetto archiviato come elemento in un mapping.

s44w4h2s.collapse_all(it-it,VS.110).gifMetodi

map::at

Cerca un elemento con un valore di chiave specificato.

begin

Restituisce un iteratore che indica il primo elemento nella mappa.

map::cbegin

Restituisce un iteratore const che indica il primo elemento nella mappa.

map::cend

Restituisce un iteratore di seguito a entità finale const.

clear

Cancella tutti gli elementi di una mappa.

Conteggio

Restituisce il numero di elementi in una mappa della chiave corrispondente alla chiave specificata in un parametro.

map::crbegin

Restituisce un iteratore const che indica il primo elemento di un mapping inverso.

map::crend

Restituisce un iteratore const che indica la posizione dopo l'ultimo elemento in un mapping inverso.

map::emplace

Inserire un elemento costruito sul posto nella mappa.

map::emplace_hint

Inserire un elemento costruito sul posto nella mappa, con un suggerimento di posizione.

empty

Restituisce true se una mappa è vuota.

end

Restituisce l'iteratore di seguito a entità finale.

equal_range

Restituisce una coppia degli iteratori.Il primo iteratore in punti della coppia il primo elemento in map con una chiave che è superiore alla chiave specificata.Il secondo iteratore in punti della coppia il primo elemento in map con una chiave a uguale a o maggiore della chiave.

con

Rimuove un elemento o un intervallo di elementi in un mapping da percorsi specificati.

find

Restituisce un iteratore che indica la posizione di un elemento in un mapping con una chiave uguale a una chiave specificata.

get_allocator

Restituisce una copia dell'oggetto di allocator utilizzato per costruire il mapping.

inserimento

Inserire un elemento o un intervallo di elementi nel mapping a una posizione specificata.

key_comp

Restituisce una copia dell'oggetto di confronto che utilizza le chiavi di ordinamento in un mapping.

lower_bound

Restituisce un iteratore il primo elemento in un mapping con un valore di chiave a cui è uguale o superiore a quello di una chiave specificata.

max_size

Restituisce la lunghezza massima di mapping.

rbegin

Restituisce un iteratore che indica il primo elemento di un mapping inverso.

rend

Restituisce un iteratore che indica la posizione dopo l'ultimo elemento in un mapping inverso.

size

Restituisce il numero di elementi nella mappa.

scambio

Scambia gli elementi di due mapping.

upper_bound

Restituisce un iteratore il primo elemento in un mapping con un valore di chiave maggiore di quello di una chiave specificata.

value_comp

Recupera una copia dell'oggetto di confronto utilizzato per ordinare i valori degli elementi in un mapping.

s44w4h2s.collapse_all(it-it,VS.110).gifOperatori

operator[]

Inserisce un elemento in un mapping con un valore di chiave specificato.

map::operator=

Sostituisce gli elementi di un mapping con una copia di un altro mapping.

Requisiti

Intestazione: <map>

Spazio dei nomi: deviazione standard

Vedere anche

Riferimenti

Thread safety della libreria C++ standard

Libreria di modelli standard

Altre risorse

membri di mapping

<mapping> membri