C++——迭代器

除了每个容器定义的迭代器外,iterator库内还定义了其他的迭代器。

1.插入迭代器:向容器中插入元素

1.1 back_inserter

1.2 front_inserter

1.3 inserter

*it =val;
//上下等价
it=c.insert(it, val);//val插入it之前,并指向它
++it;//指向原来的元素
list<int> lst={1,2,3,4};
list<int> lst2,lst3;

copy(list.cbegin(),last.cend(),front_inserter(lst2));//lst2=4,3,2,1
copy(list.cbegin(),last.cend(),inserter(lst3));//lst3=1,2,3,4

2.流迭代器:绑定到输入输出流,用于遍历

stream_iterator<int> in_iter(cin),eof;
vector<int> vec(in_iter,eof);

3.反向迭代器:向后移动(forward_list没有,流迭代器也没有)

sort(vec.begin(),vec.end());//正常顺序排列
sort(vec.end(),vec.begin());//逆序排列

4.移动迭代器

猜你喜欢

转载自www.cnblogs.com/yrm1160029237/p/11518370.html
今日推荐