Pytania otagowane jako stdmap


17
Jak pobrać wszystkie klucze (lub wartości) ze std :: map i umieścić je w wektorze?
To jeden z możliwych sposobów, w jaki wychodzę: struct RetrieveKey { template <typename T> typename T::first_type operator()(T keyValuePair) const { return keyValuePair.first; } }; map<int, int> m; vector<int> keys; // Retrieve all keys transform(m.begin(), m.end(), back_inserter(keys), RetrieveKey()); // Dump all keys copy(keys.begin(), keys.end(), ostream_iterator<int>(cout, "\n")); Oczywiście możemy również pobrać wszystkie …
246 c++  dictionary  stl  stdmap 

12
Czy w mapach STL lepiej jest używać map :: insert niż []?
Jakiś czas temu rozmawiałem z kolegą o tym, jak wstawiać wartości do map STL . Wolałem, map[key] = value; ponieważ wydaje się to naturalne i czytelne, podczas gdy on wolał map.insert(std::make_pair(key, value)) Właśnie go zapytałem i żadne z nas nie pamięta, dlaczego wkładka jest lepsza, ale jestem pewien, że nie …
201 c++  stl  map  stdmap 

9
Jaki jest preferowany / idiomatyczny sposób wstawiania do mapy?
Zidentyfikowałem cztery różne sposoby wstawiania elementów do std::map: std::map<int, int> function; function[0] = 42; function.insert(std::map<int, int>::value_type(0, 42)); function.insert(std::pair<int, int>(0, 42)); function.insert(std::make_pair(0, 42)); Który z nich jest preferowany / idiomatyczny? (Czy jest inny sposób, o którym nie pomyślałem?)
113 c++  stl  insert  stdmap  std-pair 

8
std :: map insert lub 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 korzyść z robienia std :: map :: find then std :: map :: insert przy użyciu tego zwróconego iteratora? A może szybciej jest próba wstawienia, a następnie działanie w oparciu o …
93 c++  optimization  stl  stdmap 

6
Jak zaktualizować std :: map po użyciu metody find?
Jak zaktualizować wartość klucza std::mappo użyciu findmetody? Mam mapę i deklarację iteratora taką jak ta: map <char, int> m1; map <char, int>::iterator m1_it; typedef pair <char, int> count_pair; Używam mapy do przechowywania liczby wystąpień znaku. Używam Visual C ++ 2010.
90 c++  map  stl  stdmap 


4
Jak mogę stworzyć własny komparator dla mapy?
typedef map<string, string> myMap; Podczas wstawiania nowej pary do myMap, użyje klucza stringdo porównania przez własny komparator ciągów. Czy można zastąpić ten komparator? Na przykład chciałbym porównać klucz na stringpodstawie jego długości, a nie alfabetu. Czy jest jakiś inny sposób sortowania mapy?
87 c++  stl  stdmap 

9
Używanie char * jako klucza w std :: map
Próbuję dowiedzieć się, dlaczego poniższy kod nie działa i przypuszczam, że jest to problem z użyciem znaku * jako typu klucza, jednak nie jestem pewien, jak mogę go rozwiązać i dlaczego tak się dzieje. Wszystkie inne funkcje, których używam (w HL2 SDK) używam, char*więc użycie std::stringspowoduje wiele niepotrzebnych komplikacji. std::map<char*, …
81 c++  map  stdmap 
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.