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&)。