std::unordered_map::operator[] — cppreference.com
Материал из cppreference.com
<metanoindex/>
<tbody> </tbody>
|
|
(1) | (начиная с C++11) |
|
|
(2) | (начиная с C++11) |
Вставляет новый элемент в контейнере с помощью key в качестве ключа и конструктором по умолчанию отображенные значения и возвращает ссылку на вновь построенные отображаются значения. Если элемент с ключом key уже существует, вставка не выполняется, и ссылка на ее значение отображается возвращается.
Оригинал:
Inserts a new element to the container using key as the key and default constructed mapped value and returns a reference to the newly constructed mapped value. If an element with key key already exists, no insertion is performed and a reference to its mapped value is returned.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
1)
По сути выполняет (insert(std::make_pair(key, T())).first)->second.
Оригинал:
Essentially performs (insert(std::make_pair(key, T())).first)->second.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
2)
По сути выполняет (insert(std::make_pair(std::move(key), T())).first)->second.
Оригинал:
Essentially performs (insert(std::make_pair(std::move(key), T())).first)->second.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Если происходит вставка, результатом которой является перехеширование контейнера, все итераторы аннулируются. В противном случае итераторы и указатели остаются без изменений. Перехеширование происходит только если число элементов больше, чем max_load_factor()*bucket_count().
Параметры
| key | — | Ключ элемента найти Оригинал: the key of the element to find Текст был переведён автоматически используя Переводчик Google. |
Возвращаемое значение
Ссылка на отображенное значение нового элемента, если нет элемента с ключом key существовало. В противном случае ссылка на отображенное значение существующего элемента возвращается.
Оригинал:
Reference to the mapped value of the new element if no element with key key existed. Otherwise a reference to the mapped value of the existing element is returned.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Сложность
Average case: constant, worst case: linear in size.
Пример
См. также
| предоставляет доступ к указанному элементу с проверкой границ (public функция-элемент) [править] |
Пример
Подсчет вхождений каждого слова в векторе строк .
Оригинал:
Counts the occurrences of each word in a vector of strings.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
#include <string> #include <iostream> #include <vector> #include <unordered_map> int main() { std::vector<std::string> words = { "this", "sentence", "is", "not", "a", "sentence", "this", "sentence", "is", "a", "hoax" }; std::unordered_map<std::string,size_t> word_map; for (auto w : words) { ++word_map[w]; } for (auto elem : word_map) { std::cout << elem.second << " occurrences of word '" << elem.first << "'\n"; } }
Вывод:
1 occurrences of word 'hoax' 2 occurrences of word 'this' 2 occurrences of word 'a' 2 occurrences of word 'is' 1 occurrences of word 'not' 3 occurrences of word 'sentence'