C++:关于set

Posted us4ever

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++:关于set相关的知识,希望对你有一定的参考价值。

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元素。

以上是关于C++:关于set的主要内容,如果未能解决你的问题,请参考以下文章

有趣的 C++ 代码片段,有啥解释吗? [复制]

以下代码片段 C++ 的说明

C++ 代码片段执行

此 Canon SDK C++ 代码片段的等效 C# 代码是啥?

C++ 代码片段(积累)

关于C++中vector和set使用sort方法进行排序