stdmap

Czy w Mapach STL lepiej używać map:: insert niż []?

Jakiś czas temu miałem dyskusję z kolegą o tym, jak wstawiać wartości w STL mapy . Wolałem map[key] = value;, ponieważ wydaje ... kcja członkowska jest zbędne: istnieje tylko dla wygody." Czy ktoś może mi podać ten powód, czy tylko śnię, że taki istnieje?

std:: map insert czy std:: map find?

Zakładając mapę, na której chcesz zachować istniejące wpisy. W 20% przypadków wpis, który wstawiasz, to nowe dane. Czy jest ... jest spróbować wstawić, a następnie działać w oparciu o to, czy iterator wskazuje, że rekord został lub nie został wstawiony?

Jak pobrać wszystkie klucze (lub wartości) z mapy std::i umieścić je w wektorze?

Jest to jeden z możliwych sposobów wyjścia: struct RetrieveKey { template <typename T> typename T::first_type ... y sposób, aby to łatwo osiągnąć? (Zawsze zastanawiam się, dlaczego std:: map nie zawiera funkcji członka, abyśmy to zrobili.)

Preferowany / idiomatyczny sposób wstawiania do mapy

Zidentyfikowałem cztery różne sposoby wstawiania do std::map: std::map<int, int> function; function[0] = 42; functio ... d::make_pair(0, 42)); Który z nich jest preferowany/idiomatyczny sposób? (A czy jest inny sposób, o którym nie pomyślałem?)

Jak zaktualizować Mapę std:: po użyciu metody find?

Jak zaktualizować wartość klucza w std::map po użyciu metody find? Mam taką mapę i deklarację iteratora: map <char, int ... ypedef pair <char, int> count_pair; Używam mapy do przechowywania liczby wystąpień postaci. Używam Visual C++ 2010.

Używanie char* jako klucza w std:: map

Próbuję dowiedzieć się, dlaczego poniższy kod nie działa i zakładam, że jest to problem z użyciem char* jako typu klucza, jed ... akePlayers.Element(index)->connectTime = time(NULL); g_FakePlayers.Element(index)->score = 0; return index; }

Jak mogę stworzyć własny komparator dla mapy?

typedef map<string, string> myMap; Podczas wstawiania nowej pary do myMap, użyje ona klucza string do porównania za p ... , chciałbym porównać klucz string po jego długości, a nie po alfabecie. A może jest jakiś inny sposób na uporządkowanie mapy?

Zalecany sposób wstawiania elementów do mapy [duplikat]

Możliwy duplikat:czy w Mapach STL lepiej używać map:: insert niż []? Zastanawiałem się, kiedy wstawiam element do ma ... y biorę pod uwagę, próbując wybrać jedno i drugie? A może Wydajność dostępność domyślnego konstruktora wartości ???

Wykorzystanie dla każdego z elementów mapy

Mam mapę, na której chciałbym wykonać wywołanie każdego typu danych object member function. Jeszcze Wiem, jak to zrobić na do ... gin(), Vector.end(), std::mem_fun(&MyClass::Method)); Wygląda zbyt zaciemnione i nie podoba mi się to. Jakieś sugestie?

std:: wartość domyślna mapy

Czy istnieje sposób, aby określić wartość domyślną std::map's operator[] zwraca, gdy klucz nie istnieje?

Kiedy powinienem użyć std:: map:: at aby pobrać element mapy

Czytałem różne artykuły w Internecie i pytania w stackoverflow , ale dla mnie nie jest jasne, czy jest jakiś wyjątkowy przyp ... waż jeśli element nie istnieje, to wstawia go. Edytowano: linki jakoś powiązane link 1 link 2 link 3 link 4 link 5 link 6

Jak mogę usunąć elementy mapy std:: za pomocą iteratora?

Chciałbym zapętlić std::map i usunąć elementy na podstawie ich zawartości. Jak najlepiej to zrobić?

Sprawdzanie istnienia wartości w std:: map-C++

I know findMetoda znajduje dostarczony klucz w std::map i zwraca iterator do elementu. Czy i tak można znaleźć wartość i uz ... , kombinację klawiszy. Więc mogę zadzwonić do find on it? Czy find () w std::map wykonuje wyszukiwanie sekwencyjne? Thanks

std:: map thread-safety

Czy odniesienie do obiektu w std:: map jest bezpieczne? std::map< std::string, Object > _objects; Mapa może być zm ... 1 instancji i wątku. czy operacje zapisu z Object i są bezpieczne, jeśli inny wątek doda elementy do mapy? czy to się zmieni?

Jaka jest różnica między kluczem const i non const?

Jaka jest różnica między następującymi dwoma wierszami? map<int, float> map_data; map<const int, float> map_data;

Dlaczego nie mogę przechowywać referencji w 'std:: map' w C++?

Rozumiem, że odniesienia nie są wskaźnikami, ale aliasem do obiektu. Nadal jednak nie rozumiem, co dokładnie oznacza to dla ... nia na mapie. Wiem, że muszę przestać myśleć o referencjach jako składniowym sugerze nad wskaźnikami, tylko Nie wiem jak: /

Jak mogę oszacować zużycie pamięci przez std:: map?

Na przykład, mam std:: map ze znanymi rozmiarami (A) i rozmiarami (B), podczas gdy map ma N wpisów w środku. Jak oszacujesz z ... (sizeof(A) + sizeof(B)) * N * factor Ale jaki jest czynnik? Może inna formuła? Może łatwiej jest poprosić o górną granicę?