Condividi tramite


multimap Class

La classe standard di multimap la libreria di modelli viene utilizzata 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 sia univoco e viene utilizzato per ordinare i dati automaticamente.Il valore di un elemento in un multimap, ma non il valore della chiave collegato, può essere modificato direttamente.Invece, i valori della chiave associati a elementi obsoleti devono essere eliminati e nuovi valori della chiave essere associati ai nuovi elementi inseriti.

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

Parametri

  • Chiave
    Il tipo di dati chiave da archiviare in multimap.

  • Type
    Il tipo di dati degli elementi da archiviare in multimap.

  • 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 in multimap.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 *<*const imposta, Type> >.

Note

La classe di multimap STL è

  • Un contenitore di modifica associativo, che un contenitore variabile di dimensioni che supporti il recupero efficiente dei valori degli elementi in base a un valore di chiave collegato.

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

  • Ordinato, perché i relativi elementi vengono ordinati in base ai valori chiave all'interno del contenitore in base a una funzione di confronto specificata.

  • Più, poiché i relativi elementi siano di chiavi univoche, in modo che un valore di chiave può avere diversi valori di dati degli elementi associati.

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

  • Una classe modello, poiché la funzionalità disponibile in è generica e in modo indipendente dal tipo specifico di dati contenuti negli elementi o chiavi.I tipi di dati da utilizzare per gli elementi e le chiavi, invece, sono specificati come parametri nel modello della classe con la funzione di confronto e l'allocatore.

Un iteratore fornito dalla classe di mapping è un iteratore bidirezionale, ma il membro della classe funziona inserimento e multimap dispone di versioni che accettano come parametri di template un iteratore di input più debole, con requisiti di funzionalità sono più minimi di quelli garantiti dalla classe di iteratori bidirezionali.I concetti diversi di iteratore formano una famiglia correlata dai perfezionamenti la funzionalità.Ogni concetto di iteratore dispone di un set di requisiti e gli algoritmi che utilizzano tali il limite di devono le ipotesi ai requisiti fornite da questo tipo di iteratore.Può essere presuppostoe che un iteratore di input è possibile dereferenziare per fare riferimento a un oggetto e che può essere incrementato all'iteratore successivo nella sequenza.Questo è un set minimo di funzionalità, ma è sufficiente da poter comunicare chiaramente su un intervallo degli iteratori [_First, _Last nel contesto delle funzioni membro della classe.

La scelta del tipo contenitore deve essere basata in generale sul tipo di ricerca e di inserimento 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 sono efficienti, eseguendole 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 specificatamente avevano fa riferimento agli elementi eliminati.

Il multimap deve essere il contenitore associativo di scelta quando le condizioni che associano valori con le chiavi vengono soddisfatte dall'applicazione.Un modello per questo tipo di struttura è un elenco ordinato delle parole chiave con valori stringa collegati che forniscono ad esempio le definizioni, in cui le parole sempre in modo univoco non definite.Se, invece, le parole chiave in modo univoco sono definite in modo che le chiavi siano univoche, il mapping è il contenitore di scelta.Se, invece, solo nell'elenco di parole stesse archiviazione, un set sarebbe il contenitore corretto.Se a più occorrenze delle parole sono consentite, un multi-insieme sarebbe la struttura appropriata del contenitore.

Il multimap ordinare la sequenza che controlla chiamando un oggetto funzione archiviato di tipo key_compare.Questo oggetto archiviato è una funzione di confronto che può essere eseguito chiamando la funzione membro key_comp.Gli elementi devono in genere essere solo minore di confrontabili di stabilire questo ordine: in modo da, specificando tutti gli due elementi, poter stabilire uno che sono equivalenti in quanto non è inferiore all'altro) o che ne è inferiore all'altro.Ciò comporta un ordine tra elementi antivalenti.In una più nota tecnica, 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 dell'argomento x e y e un valore restituito true o 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 entrambe f(*x, y)*e f(*x, y)*è false.Se il più sicuro stato di uguaglianza tra le chiavi sostituisce quello di equivalenza, l'ordine diventa il totale (nel senso che tutti gli elementi vengono ordinati in base all'altro) e chiavi accoppiate siano indistinguibili l'uno da.

Membri

1ka6hya8.collapse_all(it-it,VS.110).gifCostruttori

multimap

Costruisce multimap che è vuoto o mediante la copia di tutto o parte di un altro multimap.

1ka6hya8.collapse_all(it-it,VS.110).gifDefinizioni typedef

allocator_type

Un tipo che rappresenta la classe di allocator per l'oggetto di multimap.

const_iterator

Un tipo che fornisce un iteratore bidirezionale che può leggere un elemento di const in multimap.

const_pointer

Un tipo che fornisce un puntatore a un elemento di const in multimap.

const_reference

Un tipo che fornisce un riferimento a un elemento di const archiviare in multimap 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 in multimap.

difference_type

Un tipo interi con segno che può essere utilizzato per rappresentare il numero di elementi di multimap in un intervallo tra elementi indicato dagli iteratori.

iteratore

Un tipo che fornisce la differenza tra due iteratori che fanno riferimento agli elementi all'interno dello stesso multimap.

key_compare

Un tipo che fornisce un oggetto funzione che può confrontare due chiavi di ordinamento per determinare l'ordine relativo di due elementi in multimap.

key_type

Un tipo che descrive l'oggetto della chiave di ordinamento che costituiscono ogni elemento di multimap.

mapped_type

Un tipo che rappresenta il tipo di dati è archiviato in multimap.

pointer

Un tipo che fornisce un puntatore a un elemento di const in multimap.

riferimenti

Un tipo che fornisce un riferimento a un elemento ha archiviato in multimap.

reverse_iterator

Un tipo che fornisce un iteratore bidirezionale in grado di leggere o modificare un elemento in multimapinvertito.

size_type

Un tipo Integer senza segno che fornisce un puntatore a un elemento di const in multimap.

value_type

Un tipo che fornisce un oggetto funzione che può confrontare due elementi come chiavi di ordinamento per determinare il relativo ordine relativo a multimap.

1ka6hya8.collapse_all(it-it,VS.110).gifFunzioni membro

begin

Restituisce un iteratore destinato al primo elemento in multimap.

multimap::cbegin

Restituisce un iteratore const destinato al primo elemento in multimap.

multimap::cend

Restituisce un iteratore const destinato alla posizione che è l'ultimo elemento a multimap.

clear

Cancella tutti gli elementi di multimap.

Conteggio

Restituisce il numero di elementi in multimap di cui la chiave corrisponde a una chiave parametro- specificata.

multimap::crbegin

Restituisce un iteratore const destinato al primo elemento in multimapinvertito.

multimap::crend

Restituisce un iteratore const destinato alla posizione che è l'ultimo elemento a multimapinvertito.

multimap::emplace

Inserire un elemento costruito sul posto in multimap.

multimap::emplace_hint

Inserire un elemento costruito sul posto in multimap, con un suggerimento di percorso

empty

Test multimap se è vuoto.

end

Restituisce un iteratore destinato alla posizione che è l'ultimo elemento a multimap.

equal_range

Ricerca dell'intervallo di elementi a cui la chiave dell'elemento corrisponde a un valore specificato.

con

Rimuove un elemento o un intervallo di elementi in multimap da percorsi specificati o rimuove gli elementi che soddisfano una chiave specificata.

find

Restituisce un iteratore che indirizza la prima posizione di un elemento in multimap con un equivalente principale in una chiave specificata.

get_allocator

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

inserimento

Inserire un elemento o un intervallo di elementi in multimap.

key_comp

Recupera una copia dell'oggetto di confronto utilizzato alle chiavi di ordinamento in multimap.

lower_bound

Restituisce un iteratore il primo elemento in multimap che con una chiave a cui è uguale o superiore alla chiave specificata.

max_size

Restituisce la lunghezza massima di multimap.

rbegin

Restituisce un iteratore destinato al primo elemento in multimapinvertito.

rend

Restituisce un iteratore destinato alla posizione che è l'ultimo elemento a multimapinvertito.

size

Restituisce il numero di elementi in multimap.

scambio

Scambia gli elementi di due multimapS.

upper_bound

Restituisce un iteratore il primo elemento in multimap che con una chiave che è superiore alla chiave specificata.

value_comp

La funzione membro restituisce un oggetto funzione che determina l'ordine degli elementi in multimap confrontando i valori della chiave.

1ka6hya8.collapse_all(it-it,VS.110).gifOperatori

multimap::operator=

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

Requisiti

Header: <map>

Spazio dei nomi: deviazione standard

(key, VALUE) coppie vengono archiviate in un multimap come oggetti di tipo pair.La classe della coppia richiede l'intestazione <utility>, che viene automaticamente importata da <map>.

Vedere anche

Riferimenti

Thread safety della libreria C++ standard

Libreria di modelli standard

Altre risorse

membri di multimap

<mapping> membri

File di intestazione