std::unordered_multimap::operator=
Aus cppreference.com
< cpp | container | unordered multimap
unordered_multimap& operator=( const unordered_multimap& other ); |
(1) | (seit C++11) |
unordered_multimap& operator=( unordered_multimap&& 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 .
Inhaltsverzeichnis |
[Bearbeiten] Parameter
other | - | ein weiterer Container, die als Quelle verwendet werden |
[Bearbeiten] Rückgabewert
*this
[Bearbeiten] Komplexität
1) Linear in der Größe des Behälters .
2) Constant .
[Bearbeiten] Beispiel
Der folgende Code verwendet um ein std::unordered_multimap einem anderen zuweisen:
#include <unordered_map> #include <iostream> void display_sizes(const std::unordered_multimap<int, int> &nums1, const std::unordered_multimap<int, int> &nums2, const std::unordered_multimap<int, int> &nums3) { std::cout << "nums1: " << nums1.size() << " nums2: " << nums2.size() << " nums3: " << nums3.size() << '\n'; } int main() { std::unordered_multimap<int, int> nums1 {{3, 1}, {4, 1}, {5, 9}}; std::unordered_multimap<int, int> nums2; std::unordered_multimap<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
[Bearbeiten] Siehe auch
konstruiert die unordered_multimap (öffentliche Elementfunktion) |