迭代器复合赋值运算符

时间:2010-07-17 10:06:27

标签: c++ iterator

在Lippman的C ++入门第4版中,给出了向量和双端队列迭代器的复合赋值运算符:

iter1 += iter2 
iter1 -= iter2

迭代器加法和减法的复合赋值版本。指定将iter1和iter2加到或减去iter1的值。

但是当我想使用它们时,它会给出错误。此外,为迭代器提供复合赋值运算符意味着什么呢?

1 个答案:

答案 0 :(得分:4)

我在李普曼看了这个。对我来说,这看起来像是一个错误。随机访问迭代器(vector和deque提供的迭代器类型)提供了表单

的复合赋值
iter += n
iter -= n

参见例如http://www.cplusplus.com/reference/std/iterator/RandomAccessIterator/

当您查看结果类型时,Lippman写的形式的复合赋值没有意义。