Condividi tramite


Classe di CAtlMap

Questa classe fornisce metodi per creare e gestire un oggetto mappa.

template<
   typename K,
   typename V,
   class KTraits = CElementTraits< K >,
   class VTraits = CElementTraits< V >
>
class CAtlMap

Parametri

  • K
    Il tipo di elemento chiave.

  • V
    Il tipo di elemento di valore.

  • KTraits
    Il codice utilizzato per copiare o spostare elementi chiave.Vedere classe di CElementTraits per ulteriori informazioni.

  • VTraits
    Il codice utilizzato per copiare o spostare elementi di valore.

Membri

w6fwh89e.collapse_all(it-it,VS.110).gifTypedef pubblici

Nome

Descrizione

CAtlMap::KINARGTYPE

Tipo utilizzato quando una chiave passata come argomento di input

CAtlMap::KOUTARGTYPE

Tipo utilizzato quando una chiave viene restituita come argomento di output.

CAtlMap::VINARGTYPE

Tipo utilizzato quando un valore viene passato come argomento di input.

CAtlMap::VOUTARGTYPE

Tipo utilizzato quando un valore viene passato come argomento di output.

w6fwh89e.collapse_all(it-it,VS.110).gifClassi pubbliche

Nome

Descrizione

Classe di CAtlMap::CPair

Classe contenente gli elementi di valore e la chiave.

w6fwh89e.collapse_all(it-it,VS.110).gifMembri dati di CPair

Nome

Descrizione

CAtlMap::CPair::m_key

Il membro dati che archivia l'elemento chiave.

CAtlMap::CPair::m_value

Il membro dati che archivia l'elemento di valore.

w6fwh89e.collapse_all(it-it,VS.110).gifCostruttori pubblici

Nome

Descrizione

CAtlMap::CAtlMap

Costruttore.

CAtlMap::~CAtlMap

Il distruttore.

w6fwh89e.collapse_all(it-it,VS.110).gifMetodi pubblici

Nome

Descrizione

CAtlMap::AssertValid

Chiamare questo metodo per generare un'eccezione ASSERT se CAtlMap non è valido.

CAtlMap::DisableAutoRehash

Chiamare questo metodo per disabilitare rimaneggiare automatico dell'oggetto CAtlMap.

CAtlMap::EnableAutoRehash

Chiamare questo metodo per abilitare rimaneggiare automatico dell'oggetto CAtlMap.

CAtlMap::GetAt

Chiamare questo metodo per restituire l'elemento nel percorso specificato nel mapping.

CAtlMap::GetCount

Chiamare questo metodo per recuperare il numero di elementi nella mappa.

CAtlMap::GetHashTableSize

Chiamare questo metodo per determinare il numero di cestini nell'hash di mapping - tabella.

CAtlMap::GetKeyAt

Chiamare questo metodo per recuperare la chiave archiviata nel percorso specificato nell'oggetto CAtlMap.

CAtlMap::GetNext

Chiamare questo metodo per ottenere un puntatore alla coppia dell'elemento nell'oggetto CAtlMap.

CAtlMap::GetNextAssoc

Ottiene l'elemento seguente per l'iterazione.

CAtlMap::GetNextKey

Chiamare questo metodo per recuperare la chiave dall'oggetto CAtlMap.

CAtlMap::GetNextValue

Chiamare questo metodo per ottenere il valore dall'oggetto CAtlMap.

CAtlMap::GetStartPosition

Chiamare questo metodo per avviare un'iterazione di mapping.

CAtlMap::GetValueAt

Chiamare questo metodo per recuperare il valore archiviato in una posizione specificata nell'oggetto CAtlMap.

CAtlMap::InitHashTable

Chiamare questo metodo per inizializzare la tabella hash.

CAtlMap::IsEmpty

Chiamare questo metodo per verificare un oggetto mappa vuota.

CAtlMap::Lookup

Chiamare questo metodo per trovare le chiavi o valori nell'oggetto CAtlMap.

CAtlMap::Rehash

Chiamare questo metodo per rimaneggiare l'oggetto CAtlMap.

CAtlMap::RemoveAll

Chiamare questo metodo per rimuovere tutti gli elementi dall'oggetto CAtlMap.

CAtlMap::RemoveAtPos

Chiamare questo metodo per eliminare l'elemento nella posizione specificata nell'oggetto CAtlMap.

CAtlMap::RemoveKey

Chiamare questo metodo per eliminare un elemento dall'oggetto CAtlMap, in base alla chiave.

CAtlMap::SetAt

Chiamare questo metodo per inserire una coppia dell'elemento nella mappa.

CAtlMap::SetOptimalLoad

Chiamare questo metodo per impostare il caricamento ottimale dell'oggetto CAtlMap.

CAtlMap::SetValueAt

Chiamare questo metodo per modificare il valore archiviato in una posizione specificata nell'oggetto CAtlMap.

w6fwh89e.collapse_all(it-it,VS.110).gifOperatori pubblici

Nome

Descrizione

CAtlMap::operator []

Sostituisce o aggiunge un nuovo elemento a CAtlMap.

Note

CAtlMap fornisce il supporto per una matrice di mapping di qualsiasi tipo specificato, mantenimento una matrice non ordinata degli elementi principali e i relativi valori collegati.Gli elementi (consistendo di una chiave e un valore) vengono memorizzate mediante un algoritmo hash, consentendo grandi quantità di dati da archiviare e recuperare in modo efficiente.

I parametri VTraits e KTraits disponibili classi di tratti che contengono tutto il codice supplementare necessario per copiare o spostare elementi.

Un'alternativa a CAtlMap viene fornita dalla classe CRBMap.CRBMap inoltre memorizza le coppie chiave/valore, ma le caratteristiche di prestazione diverse di mostre.Il tempo impiegato per inserire un elemento, per cercare una chiave, o per eliminare una chiave da un oggetto CRBMap è di ordine log(n), dove n è il numero di elementi.Per CAtlMap, tutte queste operazioni in genere richiedono tempo costante, sebbene gli scenari peggiori possono essere di ordine *N.*Pertanto, in un caso tipico, CAtlMap è più veloce.

Un'altra differenza tra CRBMap e CAtlMap diventa evidente quando si scorre gli elementi archiviati.In CRBMap, gli elementi vengono visualizzati in un ordinamento.In CAtlMap, gli elementi non vengono ordinati e nessun ordine può essere dedotto.

Quando un numero limitato di elementi devono essere memorizzati, considerare l'utilizzo della classe CSimpleMap anziché.

Per ulteriori informazioni, vedere Classi di raccolte ATL.

Requisiti

Header: atlcoll.h

Vedere anche

Concetti

Esempio di marquee

L'esempio UpdatePV

Altre risorse

I cenni preliminari sulle classi ATL