C++ 实现自定义类型的迭代器操作
在STL中容器和算法之间的桥梁是迭代器。所以在定义好自定义类型的容器后,接下来就是迭代器的实现。_Ty就是元素的类型而_Category是迭代器的类型,主要有以下几种我希望迭代器有以下操作:*,++。另外还想要通过迭代器调用count_if函数。那看一下count_if都用到哪些操作符吧可以看到用到了++,!不过具体的算法函数对迭代器类型是有要求的,这个需要自己把握。在这个简单的示例里面,直接用myVector的指针也是可以调用count_if的,因为STL通过模板偏特化技术使得迭代器也支持原生指针。不过既然把访问元素都放到迭代器中了,我们就可以对所有的容器用统一的方式访问了,而不用暴露每个容器的细节:迭代器赋予了容器更多的功能和通用性//效果每次迭代器加移动两格//main.cpp效果:
用户评论