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 SetAt elementu . |
Uwagi
CMapStringToString
IMPLEMENT_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 CMapStringToString
programu , zobacz artykuł Kolekcje.
Hierarchia dziedziczenia
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);
}