C++ 迭代器库 - input_iterator_tag


描述

它用于将迭代器的类别标识为输入迭代器,并且所有输入迭代器至少支持以下操作之一。

C++98

财产 有效的表达式
它是可复制构造、可复制分配和可破坏的

X b(a);

b = a;

可以使用相等/不等运算符来比较其等价性

(如果两个迭代器都在 域 中则有意义)。

a == b

a != b

它可以作为右值取消引用(如果处于可取消引用状态)。

*a

a->m

它可以递增(如果处于可取消引用状态)。

结果要么是可解引用的,要么是尾后迭代器。

先前的迭代器值在增加后不需要取消引用

++a

(void)a++

*a++

值类型不需要可赋值 t = u 不需要

C++11

财产 有效的表达式
它是可复制构造、可复制分配和可破坏的

X b(a);

b = a;

可以使用相等/不等运算符来比较其等价性

(如果两个迭代器都在 域 中则有意义)。

a == b

a != b

它可以作为右值取消引用(如果处于可取消引用状态)。

*a

a->m

它可以递增(如果处于可取消引用状态)。

结果要么是可解引用的,要么是尾后迭代器。

先前的迭代器值在增加后不需要取消引用

++a

(void)a++

*a++

值类型不需要可赋值 t = u 不需要
左值是可交换的 swap(a,b)

宣言

以下是 std::input_iterator_tag 的声明。

C++11

struct input_iterator_tag {};
迭代器.htm