std::map::operator=
From cppreference.com
                    
                                        
                    
                    
                                                            
                    |   map& operator=( const map& other );  | 
(1) | |
|   map& operator=( map&& other );  | 
(2) | (since C++11) | 
|   map& operator=( std::initializer_list<value_type> ilist );  | 
(3) | (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.3) Replaces the contents with those identified by initializer list 
ilist.Contents | 
[edit] Parameters
| other | - | another container to use as data source | 
| ilist | - | initializer list to use as data source | 
[edit] Return value
*this
[edit] Complexity
1) Linear in the size of the 
other.2) Constant.
3) Linear in the size of 
ilist.[edit] Example
 The following code uses  to assign one std::map to another:
 
#include <map> #include <iostream> void display_sizes(const std::map<int, int> &nums1, const std::map<int, int> &nums2, const std::map<int, int> &nums3) { std::cout << "nums1: " << nums1.size() << " nums2: " << nums2.size() << " nums3: " << nums3.size() << '\n'; } int main() { std::map<int, int> nums1 {{3, 1}, {4, 1}, {5, 9}, {6, 1}, {7, 1}, {8, 9}}; std::map<int, int> nums2; std::map<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 map (public member function)  | |