Condividi tramite


Classe CMapStringToString

Supporta mappe di oggetti CString con chiave fornita da oggetti CString .

Sintassi

class CMapStringToString : public CObject

Membri

Le funzioni membro di CMapStringToString sono simili alle funzioni membro della classe CMapStringToOb. Grazie a questa somiglianza, per le specifiche delle funzioni membro è possibile usare la documentazione di riferimento di CMapStringToOb. Ovunque venga visualizzato un CObject puntatore come valore restituito o parametro di funzione "output", sostituire un puntatore a char. Ovunque venga visualizzato un CObject puntatore come parametro di funzione "input", sostituire un puntatore a char.

BOOL CMapStringToString::Lookup(LPCTSTR<key>, CString&<rValue>) const;

ad esempio, si converte in

BOOL CMapStringToOb::Lookup(const char*<key>, CObject*&<rValue>) const;

Strutture pubbliche

Nome Descrizione
CMapStringToString::CPair Struttura annidata contenente un valore di chiave e il valore dell'oggetto stringa associato.

Costruttori pubblici

Nome Descrizione
CMapStringToString::CMapStringToString Costruttore.

Metodi pubblici

Nome Descrizione
CMapStringToString::GetCount Restituisce il numero di elementi in questa mappa.
CMapStringToString::GetHashTableSize Determina il numero corrente di elementi nella tabella hash.
CMapStringToString::GetNextAssoc Ottiene l'elemento successivo per l'iterazione.
CMapStringToString::GetSize Restituisce il numero di elementi in questa mappa.
CMapStringToString::GetStartPosition Restituisce la posizione del primo elemento.
CMapStringToString::HashKey Calcola il valore hash di una chiave specificata.
CMapStringToString::InitHashTable Inizializza la tabella hash.
CMapStringToString::IsEmpty Verifica la condizione della mappa vuota (nessun elemento).
CMapStringToString::Lookup Cerca un puntatore void in base alla chiave del puntatore void. Il valore del puntatore, non l'entità a cui punta, viene usato per il confronto delle chiavi.
CMapStringToString::LookupKey Restituisce un riferimento alla chiave associata al valore di chiave specificato.
CMapStringToString::P GetFirstAssoc Ottiene un puntatore al primo CString oggetto della mappa.
CMapStringToString::P GetNextAssoc Ottiene un puntatore al successivo CString per l'iterazione.
CMapStringToString::P Lookup Restituisce un puntatore a un oggetto CString il cui valore corrisponde al valore specificato.
CMapStringToString::RemoveAll Rimuove tutti gli elementi da questa mappa.
CMapStringToString::RemoveKey Rimuove un elemento specificato da una chiave.
CMapStringToString::SetAt Inserisce un elemento nella mappa; sostituisce un elemento esistente se viene trovata una chiave corrispondente.

Operatori pubblici

Nome Descrizione
CMapStringToString::operator [ ] Inserisce un elemento nella mappa , ovvero la sostituzione dell'operatore per SetAt.

Osservazioni:

CMapStringToString incorpora la macro IMPLEMENT_SERIAL per supportare la serializzazione e il dump dei relativi elementi. Ogni elemento viene serializzato a sua volta se una mappa viene archiviata in un archivio, con l'operatore di inserimento di overload ( <<) o con la Serialize funzione membro.

Se è necessario un dump di singoli CString- CString elementi, è necessario impostare la profondità del contesto di dump su 1 o versione successiva.

Quando un CMapStringToString oggetto viene eliminato o quando i relativi elementi vengono rimossi, gli CString oggetti vengono rimossi in base alle esigenze.

Per altre informazioni su CMapStringToString, vedere l'articolo Raccolte.

Gerarchia di ereditarietà

CObject

CMapStringToString

Requisiti

Intestazione: afxcoll.h

CMapStringToString::CPair

Contiene un valore di chiave e il valore dell'oggetto stringa associato.

Osservazioni:

Si tratta di una struttura nidificata all'interno della classe CMapStringToString.

La struttura è costituita da due campi:

  • key Valore effettivo del tipo di chiave.

  • value Valore dell'oggetto associato.

Viene usato per archiviare i valori restituiti da CMapStringToString::P Lookup, CMapStringToString::P GetFirstAssoc e CMapStringToString::P GetNextAssoc.

Esempio

Per un esempio di utilizzo, vedere l'esempio per CMapStringToString::P Lookup.

CMapStringToString::P GetFirstAssoc

Restituisce la prima voce dell'oggetto mappa.

const CPair* PGetFirstAssoc() const;

CPair* PGetFirstAssoc();

Valore restituito

Puntatore alla prima voce della mappa; vedere CMapStringToString::CPair. Se la mappa è vuota, il valore è NULL.

Osservazioni:

Chiamare questa funzione per restituire un puntatore al primo elemento dell'oggetto map.

Esempio

CMapStringToString myMap;
CString myStr[4] = {_T("One"), _T("Two"), _T("Three"), _T("Four")};
CMapStringToString::CPair *pCurVal;

myMap.InitHashTable(257);

// Add 4 elements to the map.
myMap.SetAt(myStr[0], _T("Odd"));
myMap.SetAt(myStr[1], _T("Even"));
myMap.SetAt(myStr[2], _T("Odd"));
myMap.SetAt(myStr[3], _T("Even"));

pCurVal = myMap.PGetFirstAssoc();
while (pCurVal != NULL)
{
   _tprintf_s(_T("Current key value at %s: %s\n"),
              pCurVal->key, pCurVal->value);
   pCurVal = myMap.PGetNextAssoc(pCurVal);
}

CMapStringToString::P GetNextAssoc

Recupera l'elemento della mappa a cui punta pAssocRec.

const CPair *PGetNextAssoc(const CPair* pAssoc) const;

CPair *PGetNextAssoc(const CPair* pAssoc);

Parametri

pAssoc
Punta a una voce di mappa restituita da una precedente chiamata PGetNextAssoc o PGetFirstAssoc .

Valore restituito

Puntatore alla voce successiva nella mappa; vedere CMapStringToString::CPair. Se l'elemento è l'ultimo nella mappa, il valore è NULL.

Osservazioni:

Chiamare questo metodo per scorrere tutti gli elementi della mappa. Recuperare il primo elemento con una chiamata a PGetFirstAssoc e quindi scorrere la mappa con chiamate successive a PGetNextAssoc.

Esempio

Vedere l'esempio per CMapStringToString::P GetFirstAssoc.

CMapStringToString::P Lookup

Cerca il valore mappato a una determinata chiave.

const CPair* PLookup(LPCTSTR key) const;

CPair* PLookup(LPCTSTR key);

Parametri

key
Puntatore alla chiave per l'elemento da cercare.

Valore restituito

Puntatore alla chiave specificata.

Osservazioni:

Chiamare questo metodo per cercare un elemento della mappa con una chiave che corrisponde esattamente alla chiave specificata.

Esempio

CMapStringToString myMap;
CString myStr[4] = {_T("One"), _T("Two"), _T("Three"), _T("Four")};

myMap.InitHashTable(257);

// Add 4 elements to the map.
myMap.SetAt(myStr[0], _T("Odd"));
myMap.SetAt(myStr[1], _T("Even"));
myMap.SetAt(myStr[2], _T("Odd"));
myMap.SetAt(myStr[3], _T("Even"));

// Print the element values with odd key values.
CMapStringToString::CPair *pCurVal;

for (int i = 0; i < 4; i += 2)
{
   pCurVal = myMap.PLookup(myStr[i]);
   _tprintf_s(_T("Current key value at %s: %s\n"),
              pCurVal->key, pCurVal->value);
}

Vedi anche

Raccolta di esempi MFC
Classe CObject
Grafico della gerarchia