std::unordered_set::operator= — cppreference.com
De cppreference.com
<metanoindex/>
<metanoindex/>
<tbody> </tbody>
|
|
(1) | (depuis C++11) |
|
|
(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. |
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