Описание тега unordered-map
- это класс C++, который представляет собой ассоциативный контейнер, хранящий комбинацию ключевого значения и сопоставленного значения, позволяющую быстро извлекать элементы на основе их ключей.
5
ответов
Более эффективная структура как unordered_map<pair <int, int>, int>
У меня около 20 000 000 pair<int, int> который мне нужно связать с ints. Я сделал это с unordered_map<pair<int, int>, int>, Профилирование моего алгоритма показывает, что проверка, существует ли запись или нет bool exists = myMap[m…
11 июл '14 в 07:47
2
ответа
Инициализация std::unordered_map
Когда я впервые получаю доступ к элементу в std::unordered_map, используя operator [], он создается автоматически. Что (если таковые имеются) гарантии относительно его инициализации? (Гарантируется, что значение будет инициализировано или только буд…
20 янв '12 в 14:53
1
ответ
Неупорядоченная карта занимает много места
Я создал карту от unit64_t до uint64_t. Вот код, который я написал для оценки сложности пространства: #include <bits/stdc++.h> #include "sparsehash/internal/sparseconfig.h" #include "sparsehash/sparse_hash_map" using namespace std; int main(in…
02 окт '15 в 00:50
1
ответ
Временная сложность перебора C++ unordered_map
Я знаю, что unordered_map в C++ STL реализован как хеш-таблица, состоящая из блоков, которые соответствуют хеш-значениям. Время для вставок, удалений и поиска элементов гарантируется как постоянная амортизация. Однако я не совсем понимаю, как итерат…
08 авг '14 в 02:29
1
ответ
C++: Справка по созданию unordered_map с пользовательским хешем / равенством
Я пытаюсь создать std::unordered_map, используя пользовательскую хэш-функцию и предикат равенства, для строк матрицы встроенных встроенных типов. Я использую std:: bind, так как мне нужны функторы хеширования и равенства для работы с переменными диа…
30 ноя '11 в 23:41
2
ответа
Как отсортировать элементы в корзине std::unordered_set?
После заполнения STL unordered_set я пытаюсь отсортировать элементы в каждом сегменте в соответствии с определенным порядком (несмотря на противоречивое имя контейнера). Это известный факт, что нельзя вносить изменения в элементы в контейнере, и, на…
15 фев '18 в 13:45
4
ответа
Использовать unordered_set в unordered_map
Как я могу добавить (статически определенный) unordered_set к unordered_map, не копируя unordered_set? Я попробовал это: std::unordered_map<int, std::unordered_set<std::string>> my_map; for (int i=0; i<100; i++) my_map.emplace(i, {"fo…
24 июн '15 в 07:43
2
ответа
unordered_map указатель на значение элемента, действительное после изменения размера?
Если у меня есть unordered_map<key, someNiceObject> (нота someNiceObject не указатель) У меня есть API, который вставляет новый элемент, а затем возвращает указатель на someNiceObject сейчас на карте. Если я выполню дальнейшие вставки в карту,…
05 ноя '18 в 06:06
1
ответ
std::map изменяет порядок по умолчанию
У меня есть текстовый файл, содержащий параметры namename, settingsvalue и UserName с разделителями табуляции. В текстовом файле у меня более 100 настроек по умолчанию. Если какой-либо пользователь изменит настройки по умолчанию, я не буду перезапис…
01 апр '14 в 11:12
2
ответа
unordered_map оцените, есть ли ключ на карте
Я попробовал этот кусок кода #include <iostream> #include <utility> #include <vector> #include <unordered_map> #include <stdexcept> using namespace std; int main() { unordered_map<int,int> parent_map; try { int a …
13 фев '13 в 06:47
4
ответа
Как я могу использовать boost::thread::id как ключ к unordered_map?
Согласно документации, boost::thread::id может считаться уникальным для каждого запущенного потока и может использоваться в контейнерах, таких как std::set а также std::map (поскольку < оператор переопределен для thread::id). Моя проблема в том, …
17 май '10 в 15:01
1
ответ
Переопределение нового, но указание unordered_map не использовать его
Я пишу сборщик мусора для C/C++ как упражнение по программированию, и часть этого включает глобальное переопределение new, Однако сборщик мусора также использует unordered_map (для хранения указателей на выделенные блоки), и все будет серьезно испор…
17 дек '10 в 04:28
3
ответа
Хэш-функция unordered_map C++
Мне нужно определить unordered_map, как это unordered_map<pair<int, int>, *Foo>какой синтаксис для определения и передачи hash а также equal функции к этой карте? Я попытался передать ему этот объект: class pairHash{ public: long operato…
28 авг '11 в 16:22
1
ответ
Пара для неупорядоченных строк в качестве ключа для unordered_map
Возможно связано: [ Unordered-MultiMap of Pairs, C++ unordered_map с использованием пользовательского типа класса в качестве ключа ] Я хотел бы использовать пару строк без порядка в качестве ключа для моего unordered_map. Например, я бы хотел, чтобы…
01 июн '14 в 12:34
2
ответа
Какой контейнер из std::map или std::unordered_map подходит для моего случая
Я не знаю, как красное черное дерево работает со строковыми ключами. Я уже видел это с номерами на YouTube, и это меня сильно расстроило. Однако я очень хорошо знаю, как работает unoredred_map (внутренняя часть хеш-карт). std::map остается для меня …
30 дек '15 в 19:22
2
ответа
Насколько быстро удаляется карта, которая содержит динамически выделенную память в качестве значения?
Карта состоит из строки в качестве ключа и объектов A в качестве значения. Функция clear() из std::map/std::unordered_map не будет вызывать деструктор. Я должен позаботиться о том, чтобы освободить память от себя, когда я хочу очистить карту. Это то…
08 июл '17 в 14:59
1
ответ
Вставка элемента в unordered_map дает ошибку
Я определил unordered_map как это struct pht { pht(int t, vector<bool> pat) : tag(t), pattern(32) {} private: int tag; vector<bool> pattern; }; unordered_map< pair<int, int>, pht > predictor; int main() { int pc, addr, offset…
09 янв '13 в 18:09
4
ответа
unordered_map: какой из них быстрее find() или count()?
Какой самый быстрый способ выяснить, если unordered_map В контейнере есть элемент с указанным ключом?
04 янв '13 в 15:09
3
ответа
C++ Map выбрасывает векторный индекс за пределы диапазона
Я пытаюсь создать класс, который хранит свои экземпляры на карте следующим образом: class Apple { public: static Apple* getApple(const std::string &name) { auto it = allApples.find(name); if (it == allApples.end()) // if this apple doesnt exist,…
03 янв '17 в 05:18
2
ответа
C++, как пройти через unordered_map
Подводя итог моей проблеме, в "unordered_map" я буду добавлять пару, имя с номером и отправлять ее в функцию. (функция не имеет значения, что она делает.) Итак, я добавлю еще одну вещь в графическую карту, но я хочу иметь возможность перейти к следу…
19 сен '15 в 21:25