1. set的初始化
set可以这样初始化:
set<int> iset{ 1,2,3 }; set<int> iset2 = { 1,2,3 };
在初始化set的时候,若出现重复的元素:
set<int> iset3{ 1,2,3,3,3 }; set<int> iset4 = { 1,2,3,3,3 };
则多余的重复元素在储存时被删去,若打印出来,set中只有1,2,3三个元素。
2. 关于set的迭代器
由于set并没有定义+和-操作,所以没有办法用set.iterator+n的方式指定迭代器,比如这样
set<int> an_set1{ 2,3,4,5,6 };
vector<int> an_vector2(an_set1.begin()+1, an_set1.end());
这样的操作是错误的。不过set定义了迭代器的自加++和自减++,所以还是可以用迭代器遍历set元素。
时间: 2024-12-04 23:47:57