std::unordered_map::operator=
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.
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.
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.
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.
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.
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.
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
