◐ Shell
clean mode source ↗

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

Da cppreference.com.

Questa pagina è stata tradotta in modo automatico dalla versione in ineglese della wiki usando Google Translate.

La traduzione potrebbe contenere errori e termini strani. Muovi il puntatore sopra al testo per vedere la versione originale. Puoi aiutarci a correggere gli gli errori. Per ulteriori istruzioni clicca qui.

Click here for the English version of this page

<metanoindex/>

<tbody> </tbody>

unordered_map& operator=( const unordered_map& other );

(1) (dal C++11)

unordered_map& operator=( unordered_map&& other );

(2) (dal C++11)

Sostituisce il contenuto del contenitore.

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)

Copia operatore di assegnazione. Sostituisce il contenuto con una copia del contenuto di 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)

Spostare operatore di assegnazione. Sostituisce il contenuto con quelli della other usando la semantica spostamento (cioè i dati in other viene spostato da other in questo contenitore). other è in stato valido, ma non specificato in seguito.

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.

Parametri

other -

un altro contenitore per essere utilizzato come sorgente

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.

Valore di ritorno

*this

Complessità

1)

Lineare nella dimensione del contenitore.

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)

Costante.

Original:

Constant.

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

Esempio

Il codice seguente utilizza assegnare una std::unordered_map ad un altro:

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);
}

Output:

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

Vedi anche