Описание тега unordered-map

- это класс C++, который представляет собой ассоциативный контейнер, хранящий комбинацию ключевого значения и сопоставленного значения, позволяющую быстро извлекать элементы на основе их ключей.
5 ответов

Более эффективная структура как unordered_map<pair <int, int>, int>

У меня около 20 000 000 pair&lt;int, int&gt; который мне нужно связать с ints. Я сделал это с unordered_map&lt;pair&lt;int, int&gt;, int&gt;, Профилирование моего алгоритма показывает, что проверка, существует ли запись или нет 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 &lt;bits/stdc++.h&gt; #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, так как мне нужны функторы хеширования и равенства для работы с переменными диа…
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&lt;int, std::unordered_set&lt;std::string&gt;&gt; my_map; for (int i=0; i&lt;100; i++) my_map.emplace(i, {"fo…
24 июн '15 в 07:43
2 ответа

unordered_map указатель на значение элемента, действительное после изменения размера?

Если у меня есть unordered_map&lt;key, someNiceObject&gt; (нота someNiceObject не указатель) У меня есть API, который вставляет новый элемент, а затем возвращает указатель на someNiceObject сейчас на карте. Если я выполню дальнейшие вставки в карту,…
05 ноя '18 в 06:06
1 ответ

std::map изменяет порядок по умолчанию

У меня есть текстовый файл, содержащий параметры namename, settingsvalue и UserName с разделителями табуляции. В текстовом файле у меня более 100 настроек по умолчанию. Если какой-либо пользователь изменит настройки по умолчанию, я не буду перезапис…
01 апр '14 в 11:12
2 ответа

unordered_map оцените, есть ли ключ на карте

Я попробовал этот кусок кода #include &lt;iostream&gt; #include &lt;utility&gt; #include &lt;vector&gt; #include &lt;unordered_map&gt; #include &lt;stdexcept&gt; using namespace std; int main() { unordered_map&lt;int,int&gt; parent_map; try { int a …
13 фев '13 в 06:47
4 ответа

Как я могу использовать boost::thread::id как ключ к unordered_map?

Согласно документации, boost::thread::id может считаться уникальным для каждого запущенного потока и может использоваться в контейнерах, таких как std::set а также std::map (поскольку &lt; оператор переопределен для thread::id). Моя проблема в том, …
17 май '10 в 15:01
1 ответ

Переопределение нового, но указание unordered_map не использовать его

Я пишу сборщик мусора для C/C++ как упражнение по программированию, и часть этого включает глобальное переопределение new, Однако сборщик мусора также использует unordered_map (для хранения указателей на выделенные блоки), и все будет серьезно испор…
3 ответа

Хэш-функция unordered_map C++

Мне нужно определить unordered_map, как это unordered_map&lt;pair&lt;int, int&gt;, *Foo&gt;какой синтаксис для определения и передачи 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&lt;bool&gt; pat) : tag(t), pattern(32) {} private: int tag; vector&lt;bool&gt; pattern; }; unordered_map&lt; pair&lt;int, int&gt;, pht &gt; 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 &amp;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