Запитання з тегом «stdmap»

std :: map - це клас у стандартній бібліотеці C ++. Це відсортований асоціативний контейнер, який містить пари ключ-значення з унікальними ключами. Операції пошуку, видалення та вставки мають логарифмічну складність. Карти зазвичай реалізуються як червоно-чорні дерева.


17
Як отримати всі ключі (або значення) з std :: map і помістити їх у вектор?
Це один із можливих способів виходу: 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")); Звичайно, ми також можемо отримати всі значення …
246 c++  dictionary  stl  stdmap 

12
Чи краще на картах STL використовувати map :: insert, ніж []?
Деякий час тому я мав дискусію з колегою про те, як вставити значення в STL- карти . Я віддав перевагу map[key] = value; тому, що він відчуває себе природним і його чітко читати, тоді як він вважав за краще map.insert(std::make_pair(key, value)) Я просто запитав його, і ніхто з нас не …
201 c++  stl  map  stdmap 

9
Який переважний / ідіоматичний спосіб вставити у карту?
Я визначив чотири різні способи вставки елементів у 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)); Який із них є кращим / ідіоматичним? (А чи є інший спосіб, про який я не думав?)
111 c++  stl  insert  stdmap  std-pair 

9
std :: map insert або std :: map find?
Припустимо карту, де ви хочете зберегти існуючі записи. 20% випадків запис, який ви вставляєте, - це нові дані. Чи є перевага робити std :: map :: find, а потім std :: map :: insert, використовуючи цей повернутий ітератор? Або швидше зробити спробу вставки, а потім діяти, виходячи з того, вказує …
90 c++  optimization  stl  stdmap 

6
Як оновити std :: map після використання методу find?
Як оновити значення ключа в std::mapпісля використання findметоду? У мене є декларація карти та ітератора, така: map <char, int> m1; map <char, int>::iterator m1_it; typedef pair <char, int> count_pair; Я використовую карту, щоб зберігати кількість повторень символу. Я використовую Visual C ++ 2010.
90 c++  map  stl  stdmap 


4
Як я можу створити власний компаратор для карти?
typedef map<string, string> myMap; Коли вставляється нова пара до myMap, він буде використовувати ключ stringдля порівняння за допомогою власного компаратора рядків. Чи можна замінити цей компаратор? Наприклад, я хотів би порівняти ключ stringза довжиною, а не за алфавітом. Або існує інший спосіб сортування карти?
84 c++  stl  stdmap 

9
Використання char * як ключа в std :: map
Я намагаюся зрозуміти, чому наступний код не працює, і я припускаю, що це проблема з використанням символу char * як типу ключа, однак я не впевнений, як я можу його вирішити або чому це відбувається. Всі інші функції, якими я користуюся (у HL2 SDK), char*тому їх використання std::stringспричинить багато зайвих …
81 c++  map  stdmap 

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.