◐ Shell
clean mode source ↗

std::unordered_map::operator= - cppreference.com

De cppreference.com

<metanoindex/>

<tbody> </tbody>

unordered_map& operator=( const unordered_map& other );

(1) (desde C++11)

unordered_map& operator=( unordered_map&& other );

(2) (desde C++11)

Substitui o conteúdo do recipiente.

Original:

Replaces the contents of the container.

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

1)

Copiar operador de atribuição. Substitui o conteúdo com uma cópia do conteúdo do other.

Original:

Copy assignment operator. Replaces the contents with a copy of the contents of other.

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

2)

Mova operador de atribuição. Substitui o conteúdo com as de other usando semântica de movimento (ou seja, os dados em other é movido de other neste recipiente). other está em estado válido, mas não especificada depois.

Original:

Move assignment operator. Replaces the contents with those of other using move semantics (i.e. the data in other is moved from other into this container). other is in valid, but unspecified state afterwards.

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

Parâmetros

other -

um outro recipiente, para ser usado como fonte

Original:

another container to be used as source

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

*this

Complexidade

1)

Linear no tamanho do recipiente.

Original:

Linear in the size of the container.

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

2)

Constante.

Original:

Constant.

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

Exemplo

O código a seguir usa para atribuir um std::unordered_map para outro:

Original:

The following code uses to assign one std::unordered_map to another:

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

#include <unordered_map>
#include <iostream>

void display_sizes(const std::unordered_map<int, int> &nums1,
                   const std::unordered_map<int, int> &nums2,
                   const std::unordered_map<int, int> &nums3)
{
    std::cout << "nums1: " << nums1.size() 
              << " nums2: " << nums2.size()
              << " nums3: " << nums3.size() << '\n';
}

int main()
{
    std::unordered_map<int, int> nums1 {{3, 1}, {4, 1}, {5, 9}};
    std::unordered_map<int, int> nums2;
    std::unordered_map<int, int> nums3;

    std::cout << "Initially:\n";
    display_sizes(nums1, nums2, nums3);

    // copy assignment copies data from nums1 to nums2
    nums2 = nums1;

    std::cout << "After assigment:\n"; 
    display_sizes(nums1, nums2, nums3);
 
    // move assignment moves data from nums1 to nums3,
    // modifying both nums1 and nums3
    nums3 = std::move(nums1);

    std::cout << "After move assigment:\n"; 
    display_sizes(nums1, nums2, nums3);
}

Saída:

Initially:
nums1: 4 nums2: 0 nums3: 0
After assigment:
nums1: 4 nums2: 4 nums3: 0
After move assigment:
nums1: 0 nums2: 4 nums3: 4

Veja também

constrói o unordered_map

Original:

constructs the unordered_map

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]