Пространства имён
Варианты
Действия

std::unordered_map::operator[]

Материал из cppreference.com

 
 
 
std::unordered_map
Член функций
Оригинал:
Member functions
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
unordered_map::unordered_map
unordered_map::~unordered_map
unordered_map::operator=
unordered_map::get_allocator
Итераторы
Оригинал:
Iterators
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
unordered_map::begin
unordered_map::cbegin
unordered_map::end
unordered_map::cend
Потенциала
Оригинал:
Capacity
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
unordered_map::erase
unordered_map::size
unordered_map::max_size
Модификаторы
Оригинал:
Modifiers
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
unordered_map::clear
unordered_map::insert
unordered_map::emplace
unordered_map::emplace_hint
unordered_map::erase
unordered_map::swap
Поиск
Оригинал:
Lookup
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
unordered_map::count
unordered_map::find
unordered_map::equal_range
Ковш интерфейс
Оригинал:
Bucket interface
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
unordered_map::begin2
unordered_map::end2
unordered_map::bucket_count
unordered_map::max_bucket_count
unordered_map::bucket_size
unordered_map::bucket
Hash политики
Оригинал:
Hash policy
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
unordered_map::load_factor
unordered_map::max_load_factor
unordered_map::rehash
unordered_map::reserve
Наблюдателей
Оригинал:
Observers
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
unordered_map::hash_function
unordered_map::key_eq
 
T& operator[]( const Key& key );
(1) (начиная с C++11)
T& operator[]( Key&& key );
(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 Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
1)
По сути выполняет (insert(std::make_pair(key, T())).first)->second.
Оригинал:
Essentially performs (insert(std::make_pair(key, T())).first)->second.
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
2)
По сути выполняет (insert(std::make_pair(std::move(key), T())).first)->second.
Оригинал:
Essentially performs (insert(std::make_pair(std::move(key), T())).first)->second.
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

Если происходит вставка, результатом которой является перехеширование контейнера, все итераторы аннулируются. В противном случае итераторы и указатели остаются без изменений. Перехеширование происходит только если число элементов больше, чем max_load_factor()*bucket_count().

Содержание

[править] Параметры

key -
Ключ элемента найти
Оригинал:
the key of the element to find
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

[править] Возвращаемое значение

Ссылка на отображенное значение нового элемента, если нет элемента с ключом 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 Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

[править] Сложность

Average case: constant, worst case: linear in size.

[править] Пример

[править] См. также

Предоставляет доступ к указанному элементу с проверкой индекса
(public функция-член) [edit]

[править] Пример

Подсчет вхождений каждого слова в векторе строк .

Оригинал:

Counts the occurrences of each word in a vector of strings.

Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

#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'