std::unordered_map::operator[]
|
|
Эта страница была переведена автоматически с английской версии вики используя Переводчик Google. Перевод может содержать ошибки и странные формулировки. Наведите курсор на текст, чтобы увидеть оригинал. Щёлкните здесь, чтобы увидеть английскую версию этой страницы. (Вы можете помочь в исправлении ошибок и улучшении перевода. Для инструкций перейдите по ссылке.) |
<metanoindex/>
<tbody> </tbody> T& operator[]( const Key& key ); |
(1) | (начиная с C++11) |
T& operator[]( Key&& key ); |
(2) | (начиная с C++11) |
key в качестве ключа и конструктором по умолчанию отображенные значения и возвращает ссылку на вновь построенные отображаются значения. Если элемент с ключом key уже существует, вставка не выполняется, и ссылка на ее значение отображается возвращается.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.Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
1)
(insert(std::make_pair(key, T())).first)->second.(insert(std::make_pair(key, T())).first)->second.Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
2)
(insert(std::make_pair(std::move(key), T())).first)->second.(insert(std::make_pair(std::move(key), T())).first)->second.Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Если происходит вставка, результатом которой является перехеширование контейнера, все итераторы аннулируются. В противном случае итераторы и указатели остаются без изменений. Перехеширование происходит только если число элементов больше, чем max_load_factor()*bucket_count().
Параметры
| key | — | Ключ элемента найти
Оригинал: the key of the element to find Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. |
Возвращаемое значение
key существовало. В противном случае ссылка на отображенное значение существующего элемента возвращается.key existed. Otherwise a reference to the mapped value of the existing element is returned.Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Сложность
Average case: constant, worst case: linear in size.
Пример
| Этот раздел не завершён Причина: нет примера |
См. также
(C++11) |
предоставляет доступ к указанному элементу с проверкой границ (public функция-элемент) |
Пример
Подсчет вхождений каждого слова в векторе строк .
Counts the occurrences of each word in a vector of strings.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
#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'