iterator需要回答算法的三个问题
指向的类型
距离
存储的值
Iterator必须提供的五种associated type
iterator定义了五个typedef
1、iterator_category 迭代器的类型 例如单向链表、双向链表的等
2、value_type 链表存储的元素的类型
3、pointer T 链表指向的类型
4、reference
4、difference_type 相邻迭代器之间的距离
如果Iterator不是class ,例如只是指针,就不能回答那五个问题
trait要区分是class形式的的iterator
不是的话要用别的放法去获得那五个信息
traits萃取机
偏特化