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

std::set::operator=

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

set& operator=( const set& other );
(1)
set& operator=( set&& 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::set в другую
Оригинал:
The following code uses to assign one std::set to another:
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

#include <set>
#include <iostream>
 
void display_sizes(const std::set<int> &nums1,
                   const std::set<int> &nums2,
                   const std::set<int> &nums3)
{
    std::cout << "nums1: " << nums1.size()
              << " nums2: " << nums2.size()
              << " nums3: " << nums3.size() << '\n';
}
 
int main()
{
    std::set<int> nums1 {3, 1, 4, 6, 5, 9};
    std::set<int> nums2;
    std::set<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

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

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