◐ Shell
clean mode source ↗

std::unordered_set::operator= — cppreference.com

De cppreference.com

<metanoindex/>

<metanoindex/>

<tbody> </tbody>

unordered_set& operator=( const unordered_set& other );

(1) (depuis C++11)

unordered_set& operator=( unordered_set&& other );

(2) (depuis C++11)

Remplace le contenu du récipient .

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)

Copiez opérateur d'affectation. Remplace le contenu d'une copie du contenu de 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)

Déplacez opérateur d'affectation. Remplace le contenu avec ceux de other en utilisant la sémantique de déplacement (c'est à dire les données dans other est déplacé d'other dans ce récipient). other est dans un état valide, mais non précisées par la suite .

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.

Paramètres

other -

un autre récipient pour être utilisé en tant que source

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.

Retourne la valeur

*this

Complexité

1)

Linéaire à la taille du récipient .

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)

Constant .

Original:

Constant.

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

Exemple

Le code suivant utilise d'affecter un std::unordered_set à l'autre:

Original:

The following code uses to assign one std::unordered_set 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_set>
#include <iostream>

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

int main()
{
    std::unordered_set<int> nums1 {3, 1, 4, 6, 5, 9};
    std::unordered_set<int> nums2; 
    std::unordered_set<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);
}

Résultat :

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

Voir aussi