- 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++ 迭代器库 - bi Direction_iterator_tag
描述
它用于标识迭代器的类别为双向迭代器,并且双向迭代器至少支持以下操作之一。
C++98
财产 | 有效的表达式 |
---|---|
它是可默认构造、可复制构造、可复制分配和可破坏的 |
|
可以使用相等/不等运算符来比较其等价性 (当两个迭代器值迭代相同的基础序列时有意义)。 |
|
它可以作为右值取消引用(如果处于可取消引用状态)。 |
|
对于可变迭代器(非常量迭代器): 可以作为左值取消引用(如果处于可取消引用状态)。 |
*a = t |
它可以递增(如果处于可取消引用状态)。 结果要么是可解引用的,要么是尾后迭代器。 两个比较相等的迭代器,在都增加后保持比较相等。 |
|
它可以递减(如果它前面有可解引用的迭代器值)。 |
- A A - *A - |
C++11
财产 | 有效的表达式 |
---|---|
它是可默认构造、可复制构造、可复制分配和可破坏的 |
|
可以使用相等/不等运算符来比较其等价性 (当两个迭代器值迭代相同的基础序列时有意义)。 |
|
它可以作为右值取消引用(如果处于可取消引用状态)。 |
|
对于可变迭代器(非常量迭代器): 可以作为左值取消引用(如果处于可取消引用状态)。 |
*a = t |
它可以递增(如果处于可取消引用状态)。 结果要么是可解引用的,要么是尾后迭代器。 两个比较相等的迭代器,在都增加后保持比较相等。 |
|
它可以递减(如果它前面有可解引用的迭代器值)。 |
- A A - *A - |
左值是可交换的。 | swap(a,b) |
宣言
以下是 std::bi Direction_iterator_tag 的声明。
C++11
struct bidirectional_iterator_tag {}
迭代器.htm