Na mapie C ++

Na mapie C ++

Biblioteka C ++ STL zapewnia nam klasę map. Mapy są uważane za kontenery asocjacyjne, które zachowują obiekty w parach uporządkowanych wartości kluczy i wartości zmapowanych. Nigdy nie mogą być dwóch zmapowanych wartości o tej samej wartości kluczowej. Klasa mapy zawiera wiele funkcji, ale tutaj omówimy mapa.Na() funkcjonować. Zamapowany element do wartości kluczowej jest przekazywany jako parametr funkcji, do którego odwołuje się za pomocą mapa.Na() funkcjonować. Kiedy próbujemy dostać się do elementu, który nie znajduje się w zasięgu kontenera, mapa.Na() funkcja ocenia zakres kontenera i rzuca wyjątek.

Składnia mapy.At () funkcja

Musimy śledzić poniższą składnię, aby zaimplementować mapę.At () funkcja w c++.

Map_variable.w (para klucz/wartość)

Użyliśmy obiektu map, który nazywa się „map_variable” z Na() funkcjonować. Zwraca element, który jest bezpośrednio odwołany i wskazuje na określoną wartość kluczową. Mapa klucza danych zależy głównie od zakresu mapy. Jeśli tak nie jest, istnieje możliwość, że wyjątek lub błąd zostanie zwrócony w czasie wykonania. Teraz użyjemy tej składni w kodach C ++, aby pokazać, że działa.

Przykład 1: Za pomocą mapy.At () funkcja

Program jest wdrażany w celu zademonstrowania mapy.w funkcji. Połączyliśmy Na() funkcja z mapa() funkcja, która przyjmuje pewne wartości wejściowe i pokazuje swoją funkcjonalność. W tym celu wypełniliśmy sekcję nagłówka programu, importując moduł mapy z innym wymaganym modułem dla C++. Następnie zadzwoniliśmy główny() Funkcja deklaracji map z klasy map. Obiekt mapy jest oznaczony jako „MyMap”. Tworzymy listę map, podając klucz i wartość mapy.

Następnie powołaliśmy się mapa.Na() funkcja, która mapuje określony ciąg na liczbę całkowitą. Następnie wydrukowaliśmy wyniki z mapa.Na() Funkcja z pętli dla. Pętla dla „Auto” korzysta z odniesienia do słów kluczowych. Słowo kluczowe automatycznego wskazuje, że inicjalizator automatycznie usunie typ zmiennej z deklarowanego. Instrukcja Cout wydrukuje pary w kolejności zwracanej z mapa.Na() funkcjonować.

#włączać
#włączać
#włączać
int main ()
STD :: Mapa MyMap =
„Apple”, 0,
„winogrona”, 0,
„Mangoes”, 0
MyMap.at („Apple”) = 5;
MyMap.at („winogrona”) = 10;
MyMap.at („mangoes”) = 6;
dla (auto & m: myMap)
STD :: Cout << m.first << ": " << m.second << '\n';
powrót 0;

Teraz mamy wyniki z powyższego programu, który implementuje mapa.Na() funkcjonować. Wszystkie określone liczby całkowite, które są w zakresie, są wyświetlane na każdym ciągu.

Przykład 2: Za pomocą mapy.At () funkcja dla wyjątku out_of_range

Omówiliśmy za pośrednictwem przykładowego programu użycia mapa.Na funkcja w c++. Teraz wdrożyliśmy inny mapa.Na w programie. Ale tym razem zwróci wartość prezentowaną wewnątrz mapy, a także wyjątek out_of_range, gdy klawisz nie jest określony. Jak musimy wykorzystać mapa.Na funkcja, więc dodaliśmy moduł mapy w nagłówku. Następnie zdefiniowaliśmy główną funkcję, w której „pustka” jest przekazywana jako parametr.

Wewnątrz głównej funkcji zainicjowaliśmy konstruktor listy, tworząc obiekt mapy jako „M1”. Lista map ma różne struny klawiszy i wartości liczb całkowitych na nich. Następnie wydrukowaliśmy klucz „ja”, przekazując go przez mapa.Na funkcjonować. Zastosowaliśmy blok próbny. W bloku próbnym przedstawiliśmy klucz nieistniejący w mapa.Na funkcjonować. Ponieważ klucz jest poza zasięgiem, więc blok próba rzuci błąd.

#włączać
#włączać
za pomocą przestrzeni nazw Std;
int main (void)
mapa M1 =
„L”, 1,
„i”, 2,
'n', 3,
„U”, 4,
'x', 5,
;
Cout << "map key value m1['i'] = " << m1.at('i') << endl;
próbować
M1.w („y”);
catch (const out_of_range & e)
Cerr << "Error at " << e.what() << endl;

powrót 0;

Możemy wizualizować z ekranu wyjściowego mapa.Na() Funkcja zwraca tylko klucze obecne na mapie. Klawisze poza zasięgiem rzucają błąd w miarę wyświetlania błędu, gdy przekazaliśmy klucz „y” w mapa.Na funkcjonować.

Przykład 3: Za pomocą mapy.At () funkcja dostępu do elementów

Do elementu można uzyskać za pomocą określonego elementu cyfr z mapy.w funkcji. Wdrożyćmy ten program, aby zrealizować powyższe stwierdzenie. Najpierw zdefiniowaliśmy moduł mapy w sekcji nagłówka, ponieważ jest on wymagany do uzyskania dostępu do mapa.Na funkcjonować. Następnie mamy główną funkcję, w której klasa mapy zainicjowała obiekt mapy jako „mapa”. Dzięki temu obiektowi „mapy” wygenerowaliśmy klucze ciągów i przypisaliśmy im wartość cyfry. Potem zadzwoniliśmy mapa.Na funkcja z instrukcją Cout i przekazała klucz „Przykład” jako wejście.

#włączać
#włączać
#włączać
za pomocą przestrzeni nazw Std;
int main ()

mapa Mapa;
Mapa [„my”] = 1;
Mapa [„c ++”] = 2;
Mapa [„mapa”] = 3;
Mapa [„przykład”] = 4;
Cout << Map.at("Example");
powrót 0;

Element cyfrowy jest zwracany w stosunku do określonego klucza w mapa.Na funkcjonować. Wynik podaje wartość „4”, ponieważ cyfra ta jest przypisana do kluczowego elementu „przykład” mapy.

Przykład 4: Za pomocą mapy.At () funkcja modyfikowania elementów

Rozważmy prostą instancję modyfikacji wartości powiązanej z wartością kluczową. Utworzyliśmy listę mapy, wywołując klasę mapy i tworząc obiekt „M1”. Przypisowaliśmy wartość ciągu w stosunku do każdego klucza mapy. Następnie musimy wykorzystać mapa.Na funkcjonować. w mapa.Na funkcja, użyliśmy określonych kluczy i przypisaliśmy nowe wartości ciągów w stosunku do tych klawiszy. Teraz wartości te zostaną zmodyfikowane z poprzednim. Za pomocą pętli iterowaliśmy każdy element z mapy i wyświetliśmy go jako wyjście.

#włączać
#włączać
#włączać
za pomocą przestrzeni nazw Std;
int main ()

mapa M1 =
10, „C ++”,
20, „Java”,
30, „Python”,
40, „csharp”,
50, „oop”;
M1.at (20) = „Tensorflow”;
M1.at (30) = „Linux”;
M1.at (50) = „Scala”;
Cout<<"\nElements:" <dla (auto i x: m1)
Cout << x.first << ": " << x.second << '\n';

powrót 0;

Zauważ, że wartości uzyskane jako wyjście zmodyfikowały nowo przypisane wartości ciągów w mapa.Na funkcjonować. Zaktualizowane wartości są pokazane w poniższej migawce.

Wniosek

Artykuł dotyczy mapy.w funkcji. Zapewniliśmy funkcjonalność mapy.At () funkcja za pomocą składni, a przykład jest zaimplementowany z kompilatorem C ++. Mapa.At () Funkcja jest bardzo przydatna, ponieważ pozwala na dostępność elementu i zwraca wyraźny wyjątek lub błąd, który opisuje sytuację, która powstała podczas wywoływania metody. Ponadto możemy przypisać nowe wartości w stosunku do klucza istnienia przez mapę.w funkcji.