std::unordered_multimap::operator=
From cppreference.com
< cpp | container | unordered multimap
unordered_multimap& operator=( const unordered_multimap& other );
|
(1) | (since C++11) |
unordered_multimap& operator=( unordered_multimap&& other );
|
(2) | (since C++11) |
Replaces the contents of the container.
1) Copy assignment operator. Replaces the contents with a copy of the contents of other
.
2) 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 a valid but unspecified state afterwards.
Contents |
[edit] Parameters
other | - | another container to be used as source |
[edit] Return value
*this
[edit] Complexity
1) Linear in the size of the container.
2) Constant.
[edit] Example
The following code uses to assign one std::unordered_multimap to another:
#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: 6 nums2: 0 nums3: 0 After assigment: nums1: 6 nums2: 6 nums3: 0 After move assigment: nums1: 0 nums2: 6 nums3: 6
[edit] See also
constructs the unordered_multimap (public member function) |