Sdílet prostřednictvím


CMapStringToString – třída

Podporuje mapy CString objektů s klíči podle CString objektů.

Syntaxe

class CMapStringToString : public CObject

Členové

Členské funkce jsou podobné členské funkce CMapStringToString třídy CMapStringToOb. Vzhledem k této podobnosti můžete použít CMapStringToOb referenční dokumentaci pro specifika členské funkce. Kdykoli uvidíte ukazatel jako návratovou CObject hodnotu nebo parametr funkce "output", nahraďte ukazatelem char. Kdykoli uvidíte CObject ukazatel jako parametr funkce "input", nahraďte ukazatelem char.

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

Například se přeloží na

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

Veřejné struktury

Jméno popis
CMapStringToString::CPair Vnořená struktura obsahující hodnotu klíče a hodnotu přidruženého objektu řetězce.

Veřejné konstruktory

Jméno popis
CMapStringToString::CMapStringToString Konstruktor

Veřejné metody

Jméno popis
CMapStringToString::GetCount Vrátí počet prvků v této mapě.
CMapStringToString::GetHashTableSize Určuje aktuální počet prvků v tabulce hash.
CMapStringToString::GetNextAssoc Získá další prvek pro iterování.
CMapStringToString::GetSize Vrátí počet prvků v této mapě.
CMapStringToString::GetStartPosition Vrátí pozici prvního prvku.
CMapStringToString::HashKey Vypočítá hodnotu hash zadaného klíče.
CMapStringToString::InitHashTable Inicializuje tabulku hash.
CMapStringToString::IsEmpty Testuje podmínku prázdné mapy (žádné prvky).
CMapStringToString::Lookup Vyhledá ukazatel void na základě klíče ukazatele void. Hodnota ukazatele, nikoli entita, na kterou odkazuje, se používá pro porovnání klíčů.
CMapStringToString::LookupKey Vrátí odkaz na klíč přidružený k zadané hodnotě klíče.
CMapStringToString::P GetFirstAssoc Získá ukazatel na první CString v mapě.
CMapStringToString::P GetNextAssoc Získá ukazatel na další CString iterace.
CMapStringToString::P Vyhledat Vrátí ukazatel na CString hodnotu, jejíž hodnota odpovídá zadané hodnotě.
CMapStringToString::RemoveAll Odebere všechny prvky z této mapy.
CMapStringToString::RemoveKey Odebere prvek určený klíčem.
CMapStringToString::SetAt Vloží prvek do mapy; nahradí existující prvek, pokud je nalezen odpovídající klíč.

Veřejné operátory

Jméno popis
CMapStringToString::operator [ ] Vloží prvek do mapy – nahrazení operátoru SetAt.

Poznámky

CMapStringToStringIMPLEMENT_SERIAL obsahuje makro pro podporu serializace a dumpingu jeho prvků. Každý prvek je serializován postupně, pokud je mapa uložena do archivu, buď s přetíženým kurzorem ( <<) operátor nebo členské Serialize funkce.

Pokud potřebujete výpis jednotlivých CString- CString prvků, musíte nastavit hloubku kontextu výpisu na hodnotu 1 nebo vyšší.

Při odstranění objektu CMapStringToString nebo při odebrání CString jeho prvků se objekty odeberou podle potřeby.

Další informace najdete CMapStringToStringv článku Kolekce.

Hierarchie dědičnosti

Objekt CObject

CMapStringToString

Požadavky

Hlavička: afxcoll.h

CMapStringToString::CPair

Obsahuje hodnotu klíče a hodnotu přidruženého objektu řetězce.

Poznámky

Toto je vnořená struktura v rámci třídy CMapStringToString.

Struktura se skládá ze dvou polí:

  • key Skutečná hodnota typu klíče.

  • value Hodnota přidruženého objektu.

Slouží k uložení návratových hodnot z CMapStringToString::P Lookup, CMapStringToString::P GetFirstAssoc a CMapStringToString::P GetNextAssoc.

Příklad

Příklad použití najdete v příkladu pro CMapStringToString::P Lookup.

CMapStringToString::P GetFirstAssoc

Vrátí první položku objektu mapy.

const CPair* PGetFirstAssoc() const;

CPair* PGetFirstAssoc();

Vrácená hodnota

Ukazatel na první položku v mapě; viz CMapStringToString::CPair. Pokud je mapa prázdná, hodnota je NULL.

Poznámky

Voláním této funkce vrátíte ukazatel prvního prvku v objektu mapy.

Příklad

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

Načte prvek mapování, na který odkazuje pAssocRec.

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

CPair *PGetNextAssoc(const CPair* pAssoc);

Parametry

Přidružení klienta
Odkazuje na položku mapy vrácenou předchozím voláním PGetNextAssoc nebo PGetFirstAssoc .

Vrácená hodnota

Ukazatel na další položku v mapě; viz CMapStringToString::CPair. Pokud je prvek poslední v mapě, hodnota je NULL.

Poznámky

Voláním této metody iterujte všechny prvky v mapě. Načtěte první prvek voláním PGetFirstAssoc a pak iterujte mapou s následnými voláními PGetNextAssoc.

Příklad

Podívejte se na příklad pro CMapStringToString::P GetFirstAssoc.

CMapStringToString::P Vyhledat

Vyhledá hodnotu namapovanou na daný klíč.

const CPair* PLookup(LPCTSTR key) const;

CPair* PLookup(LPCTSTR key);

Parametry

key
Ukazatel na klíč pro prvek, který se má vyhledat.

Vrácená hodnota

Ukazatel na zadaný klíč.

Poznámky

Voláním této metody vyhledejte prvek mapy s klíčem, který přesně odpovídá danému klíči.

Příklad

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);
}

Viz také

MFC – Ukázka COLLECT
CObject – třída
Graf hierarchie