Пространства имён
Варианты
Действия

std::map::operator=

Материал из cppreference.com
< cpp‎ | container‎ | map

 
 
 
std::map
Член функций
Оригинал:
Member functions
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
map::map
map::~map
map::operator=
map::get_allocator
Элемент доступа
Оригинал:
Element access
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
map::at
map::operator[]
Итераторы
Оригинал:
Iterators
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
map::begin
map::cbegin

(C++11)
map::end
map::cend

(C++11)
map::rbegin
map::crbegin

(C++11)
map::rend
map::crend

(C++11)
Потенциала
Оригинал:
Capacity
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
map::empty
map::size
map::max_size
Модификаторы
Оригинал:
Modifiers
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
map::clear
map::insert
map::emplace(C++11)
map::emplace_hint(C++11)
map::erase
map::swap
Поиск
Оригинал:
Lookup
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
map::count
map::find
map::equal_range
map::lower_bound
map::upper_bound
Наблюдателей
Оригинал:
Observers
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
map::key_comp
map::value_comp
 
map& operator=( const map& other );
(1)
map& operator=( map&& other );
(2) (начиная с C++11)
Заменяет содержимое контейнера.
Оригинал:
Replaces the contents of the container.
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
1)
Скопируйте оператор присваивания. Заменяет содержимое с копией содержимого other.
Оригинал:
Copy assignment operator. Replaces the contents with a copy of the contents of other.
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
2)
Переместите оператор присваивания. Заменяет содержимое с теми other использованием семантика переноса (т.е. данные в other перемещается из other в этот контейнер). other находится в силе, но неопределенное состояние после.
Оригинал:
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.
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

Содержание

[править] Параметры

other -
другой контейнер, который будет использоваться в качестве источника
Оригинал:
another container to be used as source
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

[править] Возвращаемое значение

*this

[править] Сложность

1)
Линейный в размер контейнера.
Оригинал:
Linear in the size of the container.
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
2)
Постоянное.
Оригинал:
Constant.
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

[править] Пример

Следующий код использует , чтобы присвоить один std::map в другую
Оригинал:
The following code uses to assign one std::map to another:
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

#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}};
    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);
}

Вывод:

Initially:
nums1: 4 nums2: 0 nums3: 0
After assigment:
nums1: 4 nums2: 4 nums3: 0
After move assigment:
nums1: 0 nums2: 4 nums3: 4

[править] См. также

Создаёт map
(public функция-член) [edit]