我挑"不能"的 说:
input iterator:*操作返回常引用,常量操作.总之不可附值,不可修改,不可附值.可以被拷贝,可以比较。
output iterator:*操作是非常量操作,返回引用,总之*操作是改变状态的.可附值,可修改. 不可比较,不可被拷贝(因为不能实现不修改他就获取数据,和auto_ptr类似)。有意思的是difference_type被强制禁用,因为不可比较(比较一次值都变了)。
所以forward_iterator和output _terator不是“isa”的关系。