struct bidirectional_iterator_tag {}
属性 | 有效的表达式 |
---|---|
可以默认构造、拷贝构造、拷贝赋值和析构 | X a; |
可以使用相等/不等运算符进行等价比较 (当两个迭代器值指向相同的底层序列时才有意义)。 | a == b |
可以作为右值解引用(如果处于可解引用状态)。 | *a |
对于可变迭代器(非 const 迭代器) 可以作为左值解引用(如果处于可解引用状态)。 | *a = t |
可以递增(如果处于可解引用状态)。 结果是也可解引用或越界迭代器。 两个相等比较的迭代器,在都增加后仍保持相等比较。 | ++a |
可以递减(如果其前面有一个可解引用的迭代器值)。 | --a a-- *a-- |
属性 | 有效的表达式 |
---|---|
可以默认构造、拷贝构造、拷贝赋值和析构 | X a; |
可以使用相等/不等运算符进行等价比较 (当两个迭代器值指向相同的底层序列时才有意义)。 | a == b |
可以作为右值解引用(如果处于可解引用状态)。 | *a |
对于可变迭代器(非 const 迭代器) 可以作为左值解引用(如果处于可解引用状态)。 | *a = t |
可以递增(如果处于可解引用状态)。 结果是也可解引用或越界迭代器。 两个相等比较的迭代器,在都增加后仍保持相等比较。 | ++a |
可以递减(如果其前面有一个可解引用的迭代器值)。 | --a a-- *a-- |
左值是可交换的。 | swap(a,b) |
const T&
)。