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