struct random_access_iterator_tag {};| 屬性 | 有效的表示式 |
|---|---|
| 可以預設構造、複製構造、複製賦值和析構 | X a; |
| 可以使用相等/不等運算子進行等價比較 (當兩個迭代器值指向相同的底層序列時才有意義)。 | a == b |
| 可以作為右值解引用(如果處於可解引用狀態)。 | *a |
| 對於可變迭代器(非 const 迭代器) 可以作為左值解引用(如果處於可解引用狀態)。 | *a = t |
| 可以遞增(如果處於可解引用狀態)。 結果是也可解引用或越界迭代器。 兩個相等的迭代器,在都遞增後仍然相等。 | ++a |
| 可以遞減(如果存在可解引用的迭代器值在其前面)。 | --a a-- *a-- |
支援迭代器與整數值之間的算術運算子+和-,或兩個迭代器之間的減法。 | a + n |
可以與不等關係運算符(<、>、<= 和 >=)進行比較。 | a < b |
支援複合賦值運算+= 和 -= | a += n |
支援偏移解引用運算子([]) | a[n] |
| 屬性 | 有效的表示式 |
|---|---|
| 可以預設構造、複製構造、複製賦值和析構 | X a; |
| 可以使用相等/不等運算子進行等價比較 (當兩個迭代器值指向相同的底層序列時才有意義)。 | a == b |
| 可以作為右值解引用(如果處於可解引用狀態)。 | *a |
| 對於可變迭代器(非 const 迭代器) 可以作為左值解引用(如果處於可解引用狀態)。 | *a = t |
| 可以遞增(如果處於可解引用狀態)。 結果是也可解引用或越界迭代器。 兩個相等的迭代器,在都遞增後仍然相等。 | ++a |
| 可以遞減(如果存在可解引用的迭代器值在其前面)。 | --a a-- *a-- |
支援迭代器與整數值之間的算術運算子+和-,或兩個迭代器之間的減法。 | a + n |
可以與不等關係運算符(<、>、<= 和 >=)進行比較。 | a < b |
支援複合賦值運算+= 和 -= | a += n |
支援偏移解引用運算子([]) | a[n] |
| 左值是可交換的。 | swap(a,b) |
const T&)。