在C ++ STL中设置operator =

函数operator =在集合中使用以复制一个集合(或在C ++ STL中移动到另一个集合。它的作用类似于集合的常规“ =”赋值操作。此函数有重载形式-

  • 复制:-set&operator =(const set&s1) -

    此函数将集合s1中的所有元素复制到另一个集合。传递的参数设置为相同类型。

  • 用法-设置s1 = s2;

  • 移动:-set&运算符=(set && s1) -

    这会将集合s1的元素移动到调用集合中。

  • 初始化列表:-set&operator =(initializer_list <value_type> ilist) -

    该版本将初始化列表ilist的值复制到调用集中。

    用法-set <int> s1 = {1,2,3,4,5};

注–所有这些都返回set <T>类型的此指针的引用。

以下程序用于演示C ++程序中round函数的用法-

示例

#include <iostream>
#include <set>
using namespace std;
//合并功能
int main(){
   set<int> set1, set2;
   //列表初始化
   set1 = { 1, 2, 3, 4, 5 };
   set2 = { 10,11,12,13 };
   //复制前
   cout<<"set1 :";
   for (auto s = set1.begin(); s != set1.end(); ++s) {
      cout << *s << " ";
   }
   cout << endl;
   cout<<"set2 :";
   for (auto s = set2.begin(); s != set2.end(); ++s) {
      cout << *s << " ";
   }
   //将set1复制到set2之后
   cout<<endl<<"After Copy"<<endl;
   cout<<"set1 :";
   set1=set2;
   for (auto s = set1.begin(); s != set1.end(); ++s) {
      cout << *s << " ";
   }
   return 0;
}

输出结果

set1 :1 2 3 4 5
set2 :10 11 12 13
After Copy
set1 :10 11 12 13