问题描述
|
我想求解标题中的方程并找到X。据我所知,与正向迭代器不同,输入或输出迭代器在其副本被推进后立即失效。对于满足输入迭代器概念和输出迭代器概念的T类型以满足正向迭代器概念,是否还有其他要求?
无论如何,您能否提供一个既是输入又是输出但不是正向的迭代器的真实示例?谢谢
解决方法
迭代器类别处理在迭代器上允许的操作。取消引用前向迭代器必须产生
T&
(C ++ 03),而取消引用输入迭代器必须只产生可转换为T
的类型。例如,vector<bool>::iterator
是输入/输出迭代器,但不是正向迭代器(因为取消引用它会返回可转换为bool
的代理-因为您无法返回对位的引用)。
, 并且根据此处的图表,可以默认构造正向迭代器,但不能构造输入或输出迭代器。