迭代器适配器是用来“改造”迭代器的。这里主要介绍两种:reverse_iterator和inserter便于读者体会。
1 reverse_iterator
在排序的时候,默认是从小到大。若要从大到小,则起点和终点是逆向的,需要使用rbegin和rend。
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/26936564539249b23f787cb397db628a.png)
迭代器适配器得到的结果依然是个迭代器,故需要5个typedef和4个operator操作。要特别注意反向迭代器的正向移动正好是原迭代器的逆向移动。
2 inserter
功能:在指定的位置,创造一个空间,然后将元素放入这个位置。
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/dca3765121ca290c5fc3880864caf7e7.png)
这里的一个关键操作是:进行赋值操作的操作符重载,即operator=,改变copy的赋值行为为插入操作