- C 标准库
- C 标准库
- C++ 标准库
- C++ 库 - 主页
- C++ 库 - <fstream>
- C++ 库 - <iomanip>
- C++ 库 - <ios>
- C++ 库 - <iosfwd>
- C++ 库 - <iostream>
- C++ 库 - <istream>
- C++ 库 - <ostream>
- C++ 库 - <sstream>
- C++ 库 - <streambuf>
- C++ 库 - <原子>
- C++ 库 - <复杂>
- C++ 库 - <异常>
- C++ 库 - <功能>
- C++ 库 - <限制>
- C++ 库 - <语言环境>
- C++ 库 - <内存>
- C++ 库 - <新>
- C++ 库 - <数字>
- C++ 库 - <正则表达式>
- C++ 库 - <stdexcept>
- C++ 库 - <字符串>
- C++ 库 - <线程>
- C++ 库 - <元组>
- C++ 库 - <类型信息>
- C++ 库 - <实用程序>
- C++ 库 - <valarray>
C++ 迭代器库 - random_access_iterator_tag
描述
它用于标识迭代器的类别,随机访问迭代器至少支持以下操作之一。
C++98
财产 | 有效的表达式 |
---|---|
它是可默认构造、可复制构造、可复制分配和可破坏的 |
|
可以使用相等/不等运算符来比较其等价性 (当两个迭代器值迭代相同的基础序列时有意义)。 |
|
它可以作为右值取消引用(如果处于可取消引用状态)。 |
|
对于可变迭代器(非常量迭代器): 可以作为左值取消引用(如果处于可取消引用状态)。 |
*a = t |
它可以递增(如果处于可取消引用状态)。 结果要么是可解引用的,要么是尾后迭代器。 两个比较相等的迭代器,在都增加后保持比较相等。 |
|
它可以递减(如果它前面有可解引用的迭代器值)。 |
- A A - *A - |
支持迭代器和整数值之间的算术运算符+ and ,或从另一个迭代器中减去一个迭代器。- |
|
可以与不等式关系运算符(< 、> 、<= 和>= )进行比较。 |
|
支持复合赋值运算+= 和-= |
|
支持偏移解引用运算符 ( [] ) |
a[n] |
C++11
财产 | 有效的表达式 |
---|---|
它是一个默认构造、可复制构造、可复制分配和可破坏的 |
|
可以使用相等/不等运算符来比较其等价性 (当两个迭代器值迭代相同的基础序列时有意义)。 |
|
它可以作为右值取消引用(如果处于可取消引用状态)。 |
|
对于可变迭代器(非常量迭代器): 可以作为左值取消引用(如果处于可取消引用状态)。 |
*a = t |
它可以递增(如果处于可取消引用状态)。 结果要么是可解引用的,要么是尾后迭代器。 两个比较相等的迭代器,在都增加后保持比较相等。 |
|
它可以递减(如果它前面有可解引用的迭代器值)。 |
- A A - *A - |
它支持迭代器和整数值之间的算术运算符+ and ,或者从另一个迭代器中减去一个迭代器。- |
|
它可以与不等关系运算符(< 、> 、<= 和>= )进行比较。 |
|
它支持复合赋值操作+= 和-= |
|
它支持偏移解引用运算符 ( [] ) |
a[n] |
左值是可交换的。 | swap(a,b) |
宣言
以下是 std::random_access_iterator_tag 的声明。
C++11
struct random_access_iterator_tag {};
迭代器.htm