Udostępnij za pośrednictwem


Klasa CMapStringToString

Obsługuje mapy CString obiektów kluczowanych przez CString obiekty.

Składnia

class CMapStringToString : public CObject

Elementy członkowskie

Funkcje składowe obiektu są podobne do funkcji CMapStringToString składowych klasy CMapStringToOb. Ze względu na to podobieństwo można użyć dokumentacji referencyjnej CMapStringToOb dla specyfiki funkcji składowych. Wszędzie tam, gdzie wskaźnik jest wyświetlany jako wartość zwracana CObject lub parametr funkcji "output", zastąp wskaźnik wskaźnikiem .char Wszędzie tam, gdzie wskaźnik jest wyświetlany CObject jako parametr funkcji "input", zastąp wskaźnik wskaźnikiem .char

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

na przykład przekłada się na

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

Struktury publiczne

Nazwa/nazwisko opis
CMapStringToString::CPair Zagnieżdżona struktura zawierająca wartość klucza i wartość skojarzonego obiektu ciągu.

Konstruktory publiczne

Nazwa/nazwisko opis
CMapStringToString::CMapStringToString Konstruktor.

Metody publiczne

Nazwa/nazwisko opis
CMapStringToString::GetCount Zwraca liczbę elementów na tej mapie.
CMapStringToString::GetHashTableSize Określa bieżącą liczbę elementów w tabeli skrótów.
CMapStringToString::GetNextAssoc Pobiera następny element do iteracji.
CMapStringToString::GetSize Zwraca liczbę elementów na tej mapie.
CMapStringToString::GetStartPosition Zwraca pozycję pierwszego elementu.
CMapStringToString::HashKey Oblicza wartość skrótu określonego klucza.
CMapStringToString::InitHashTable Inicjuje tabelę skrótów.
CMapStringToString::IsEmpty Testy warunku pustej mapy (brak elementów).
CMapStringToString::Lookup Wyszukuje wskaźnik pustki na podstawie klucza wskaźnika pustki. Wartość wskaźnika, a nie jednostka, do którego wskazuje, jest używana do porównania klucza.
CMapStringToString::LookupKey Zwraca odwołanie do klucza skojarzonego z określoną wartością klucza.
CMapStringToString::P GetFirstAssoc Pobiera wskaźnik do pierwszego CString na mapie.
CMapStringToString::P GetNextAssoc Pobiera wskaźnik do następnego CString w celu iteracji.
CMapStringToString::P Lookup Zwraca wskaźnik do elementu CString , którego wartość pasuje do określonej wartości.
CMapStringToString::RemoveAll Usuwa wszystkie elementy z tej mapy.
CMapStringToString::RemoveKey Usuwa element określony przez klucz.
CMapStringToString::SetAt Wstawia element do mapy; zastępuje istniejący element, jeśli zostanie znaleziony pasujący klucz.

Operatory publiczne

Nazwa/nazwisko opis
CMapStringToString::operator [ ] Wstawia element do mapy — podstawianie operatora dla SetAtelementu .

Uwagi

CMapStringToStringIMPLEMENT_SERIAL uwzględnia makro w celu wspierania serializacji i dumpingu jej elementów. Każdy element jest serializowany z kolei, jeśli mapa jest przechowywana w archiwum, z przeciążonym operatorem wstawiania ( <<) lub z funkcją składową Serialize .

Jeśli potrzebujesz zrzutu poszczególnych CString- CString elementów, musisz ustawić głębokość kontekstu zrzutu na 1 lub większą.

CMapStringToString Gdy obiekt zostanie usunięty lub gdy jego elementy zostaną usunięte, CString obiekty zostaną odpowiednio usunięte.

Aby uzyskać więcej informacji na temat CMapStringToStringprogramu , zobacz artykuł Kolekcje.

Hierarchia dziedziczenia

Obiekt CObject

CMapStringToString

Wymagania

Nagłówek: afxcoll.h

CMapStringToString::CPair

Zawiera wartość klucza i wartość skojarzonego obiektu ciągu.

Uwagi

Jest to struktura zagnieżdżona w klasie CMapStringToString.

Struktura składa się z dwóch pól:

  • key Rzeczywista wartość typu klucza.

  • value Wartość skojarzonego obiektu.

Służy do przechowywania wartości zwracanych z CMapStringToString::P Lookup, CMapStringToString::P GetFirstAssoc i CMapStringToString::P GetNextAssoc.

Przykład

Przykład użycia można znaleźć w przykładzie CMapStringToString::P Lookup.

CMapStringToString::P GetFirstAssoc

Zwraca pierwszy wpis obiektu mapy.

const CPair* PGetFirstAssoc() const;

CPair* PGetFirstAssoc();

Wartość zwracana

Wskaźnik do pierwszego wpisu na mapie; zobacz CMapStringToString::CPair. Jeśli mapa jest pusta, wartość ma wartość NULL.

Uwagi

Wywołaj tę funkcję, aby zwrócić wskaźnik pierwszego elementu w obiekcie mapy.

Przykład

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

Pobiera element mapy wskazywany przez element pAssocRec.

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

CPair *PGetNextAssoc(const CPair* pAssoc);

Parametry

pAssoc
Wskazuje wpis mapy zwrócony przez poprzednie wywołanie PGetNextAssoc lub PGetFirstAssoc .

Wartość zwracana

Wskaźnik do następnego wpisu na mapie; zobacz CMapStringToString::CPair. Jeśli element jest ostatnim elementem na mapie, wartość ma wartość NULL.

Uwagi

Wywołaj tę metodę, aby iterować wszystkie elementy na mapie. Pobierz pierwszy element z wywołaniem metody , PGetFirstAssoc a następnie wykonaj iterację po mapie z kolejnymi wywołaniami metody PGetNextAssoc.

Przykład

Zobacz przykład CMapStringToString::P GetFirstAssoc.

CMapStringToString::P Lookup

Wyszukuje wartość zamapowana na dany klucz.

const CPair* PLookup(LPCTSTR key) const;

CPair* PLookup(LPCTSTR key);

Parametry

key
Wskaźnik do klucza do wyszukania elementu.

Wartość zwracana

Wskaźnik do określonego klucza.

Uwagi

Wywołaj tę metodę, aby wyszukać element mapy z kluczem, który dokładnie pasuje do danego klucza.

Przykład

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

Zobacz też

Przykład MFC COLLECT
Klasa CObject
Wykres hierarchii