◐ Shell
clean mode source ↗

std::unordered_map::operator[] - cppreference.com

De cppreference.com

<metanoindex/>

<tbody> </tbody>

T& operator[]( const Key& key );

(1) (desde C++11)

T& operator[]( Key&& key );

(2) (desde C++11)

Insere um novo elemento para o recipiente utilizando key como a chave padrão e valor calculado mapeada e retorna uma referência para o valor recém-construído mapeados. Se um elemento com key chave já existe, não é realizada de inserção e uma referência ao seu valor mapeado é devolvido.

Original:

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.

The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

1)

Executa essencialmente (insert(std::make_pair(key, T())).first)->second.

Original:

Essentially performs (insert(std::make_pair(key, T())).first)->second.

The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

2)

Executa essencialmente (insert(std::make_pair(std::move(key), T())).first)->second.

Original:

Essentially performs (insert(std::make_pair(std::move(key), T())).first)->second.

The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

If an insertion occurs and results in a rehashing of the container, all iterators are invalidated. Otherwise iterators are not affected. References are not invalidated. Rehashing occurs only if the new number of elements is higher than max_load_factor()*bucket_count().

Parâmetros

key -

a chave do elemento de encontrar

Original:

the key of the element to find

The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

Valor de retorno

Referência ao valor mapeada do elemento novo se nenhum elemento com chave key existiu. Caso contrário, uma referência ao valor do elemento mapeada existente é retornado.

Original:

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.

The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

Complexidade

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

Exemplo

Veja também

acessar o elemento especificado com verificação de limites

Original:

access specified element with bounds checking

The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.


(função pública membro) [edit]

Exemplo

Conta as ocorrências de cada palavra em um vetor de strings .

Original:

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

The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

#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";
    }
}

Saída:

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'