std::multiset::operator=
Aus cppreference.com
<tbody>
</tbody>
multiset& operator=( const multiset& other ); |
(1) | |
multiset& operator=( multiset&& other ); |
(2) | (seit C++11) |
Ersetzt den Inhalt des Containers.
1) Copy-Zuweisungsoperator. Ersetzt den Inhalt mit einer Kopie des Inhalts other .
2) move-Zuweisungsoperator. Ersetzt den Inhalt mit denen unter Verwendung other bewegen Semantik (dh die Daten in other aus other in diesen Behälter bewegt wird). other ist gültig, aber nicht näher Zustand danach .
Parameter
| other | - | ein weiterer Container, die als Quelle verwendet werden |
Rückgabewert
*this
Komplexität
1) Linear in der Größe des Behälters .
2) Constant .
Beispiel
Der folgende Code verwendet um ein std::multiset einem anderen zuweisen:
#include <set>
#include <iostream>
void display_sizes(const std::multiset<int> &nums1,
const std::multiset<int> &nums2,
const std::multiset<int> &nums3)
{
std::cout << "nums1: " << nums1.size()
<< " nums2: " << nums2.size()
<< " nums3: " << nums3.size() << '\n';
}
int main()
{
std::multiset<int> nums1 {3, 1, 4, 6, 5, 9};
std::multiset<int> nums2;
std::multiset<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
Siehe auch
konstruiert die multiset (öffentliche Elementfunktion) | |