迭代器库

来自cppreference.com
< cpp
 
 
迭代器库
迭代器原语
原文:
Iterator primitives
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
iterator_traits
input_iterator_tag
output_iterator_tag
forward_iterator_tag
bidirectional_iterator_tag
random_access_iterator_tag
iterator
迭代器适配器
原文:
Iterator adaptors
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
reverse_iterator
流迭代器
原文:
Stream iterators
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
istream_iterator
ostream_iterator
istreambuf_iterator
ostreambuf_iterator
迭代器操作
原文:
Iterator operations
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
advance
distance
prev(C++11)
next(C++11)
远程接入
原文:
Range access
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
begin(C++11)
end(C++11)
 

迭代器库提供了五种迭代器的定义,同时还提供了迭代器特征、适配器及相关的工具函数。

目录

[编辑] 迭代器分类

共有五种迭代器:InputIteratorOutputIteratorForwardIteratorBidirectionalIteratorRandomAccessIterator

迭代器的分类的依据并不是迭代器的类型,而是迭代器所支持的操作。换句话说,某个类型只要支持相应的操作,就可以作为迭代器使用。例如,指针支持所有 RandomAccessIterator 要求的操作,于是任何需要 RandomAccessIterator 的地方都可以使用指针。

五种迭代器中有四种可以按层级组织,上层分类(如 RandomAccessIterator)支持下层分类(如 InputIterator)的功能。如果迭代器满足这些分类的其中之一,而且同时满足 OutputIterator 的要求,那么就称之为可变迭代器,同时支持输入和输出。非可变迭代器又称常量迭代器。

迭代器分类 定义的操作
RandomAccessIterator BidirectionalIterator ForwardIterator InputIterator
  • 读取
  • 递增(非多趟)
  • 递增(多趟)
  • 递减
  • 随机访问

上述分类中的迭代器如果同时满足 OutputIterator 的要求,则称之为可变迭代器。

OutputIterator
  • 写入
  • 递增(非多趟)

[编辑] 迭代器原语

提供统一的接口,一个迭代器的属性
原文:
provides uniform interface to the properties of an iterator
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

(类模板) [edit]
空类类型用来表示迭代器类别
原文:
empty class types used to indicate iterator categories
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

(类) [edit]
基本的迭代器
原文:
the basic iterator
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

(类模板) [edit]

[编辑] 迭代器适配器

反序遍历的迭代器适配器
原文:
iterator adaptor for reverse-order traversal
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

(类模板) [edit]
(C++11)
迭代器适配器,它解引用一个右值引用
原文:
iterator adaptor which dereferences to an rvalue reference
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

(类模板) [edit]
创建一个std::move_iterator从参数的类型推断
原文:
creates a std::move_iterator of type inferred from the argument
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

(函数模板) [edit]
在一个容器的端部,用于插入的迭代器适配器
原文:
iterator adaptor for insertion at the end of a container
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

(类模板) [edit]
创建一个std::back_insert_iterator从参数的类型推断
原文:
creates a std::back_insert_iterator of type inferred from the argument
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

(函数模板) [edit]
用于插入的容器在前面的迭代器适配器
原文:
iterator adaptor for insertion at the front of a container
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

(类模板) [edit]
创建一个std::front_insert_iterator从参数的类型推断
原文:
creates a std::front_insert_iterator of type inferred from the argument
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

(函数模板) [edit]
用于插入到一个容器中的迭代器适配器
原文:
iterator adaptor for insertion into a container
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

(类模板) [edit]
创建一个std::insert_iterator从参数的类型推断
原文:
creates a std::insert_iterator of type inferred from the argument
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

(函数模板) [edit]

[编辑] 流迭代器

输入迭代器,读取std::basic_istream
原文:
input iterator that reads from std::basic_istream
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

(类模板) [edit]
输出迭代器,写入std::basic_ostream
原文:
output iterator that writes to std::basic_ostream
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

(类模板) [edit]
输入迭代器,读取std::basic_streambuf
原文:
input iterator that reads from std::basic_streambuf
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

(类模板) [edit]
输出迭代器,写入std::basic_streambuf
原文:
output iterator that writes to std::basic_streambuf
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

(类模板) [edit]

[编辑] 迭代器操作

在头文件 <iterator> 中定义
给定距离的迭代器
原文:
advances an iterator by given distance
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

(函数) [edit]
返回两个迭代器之间的距离
原文:
returns the distance between two iterators
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

(函数) [edit]
(C++11)
增加一个迭代器
原文:
increment an iterator
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

(函数) [edit]
(C++11)
减一个迭代器
原文:
decrement an iterator
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

(函数) [edit]

[编辑] 范围访问

在头文件 <iterator> 中定义
(C++11)
返回一个迭代器的容器或数组的开始
原文:
returns an iterator to the beginning of a container or array
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

(函数) [edit]
(C++11)
返回一个迭代器的容器或数组
原文:
returns an iterator to the end of a container or array
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

(函数) [edit]