表 13–2 列出了标准库中每个组件的可用文档。
表 13–2 C++ 标准库手册页
手册页 |
概述 |
---|---|
Algorithms |
在容器和序列上执行各种操作的通用算法 |
Associative_Containers |
排序的容器 |
Bidirectional_Iterators |
可以读取和写入,并且可以双向遍历容器的迭代器 |
Containers |
标准模板库 (standard template library, STL) 集合 |
Forward_Iterators |
可以读取和写入的前移式迭代器 |
Function_Objects |
定义了 operator() 的对象 |
Heap_Operations |
请参见与 make_heap、pop_heap、push_heap 和 sort_heap 对应的条目 |
Input_Iterators |
只读的前移式迭代器 |
Insert_Iterators |
允许迭代器向容器插入元素而非覆盖容器内元素的迭代器适配器 |
Iterators |
集合遍历和修改的指针泛化 |
Negators |
用于遍历谓词函数对象检测的函数适配器和函数对象 |
Operators |
C++ 标准模板库输出的运算符 |
Output_Iterators |
只写的前移式迭代器 |
Predicates |
返回布尔 (true/false) 值或整型值的函数或函数对象 |
Random_Access_Iterators |
可以读取、写入并随机访问容器的迭代器 |
Sequences |
组织序列集合的容器 |
Stream_Iterators |
包括允许直接在流上使用通用算法的 ostream 和 istream 的迭代器功能 |
__distance_type |
确定迭代程序所用距离的类型(已过时) |
__iterator_category |
确定迭代程序所属的类别(已过时) |
__reverse_bi_iterator |
向后遍历集合的迭代器 |
accumulate |
将一定范围内的所有元素聚集到单个值中 |
adjacent_difference |
输出在一定范围内每个相邻元素对之间的差别的序列 |
adjacent_find |
寻找在序列中相等的第一个相邻元素对 |
advance |
按特定的距离将迭代器向前或者向后移动(如可能) |
allocator |
在标准库容器中用于存储管理的缺省分配器对象 |
auto_ptr |
一个简单、智能的指针类 |
back_insert_iterator |
用于在集合末端插入项目的插入迭代器 |
back_inserter |
用于在集合末端插入项目的插入迭代器 |
basic_filebuf |
将输入序列或输出序列与文件关联的类 |
basic_fstream |
支持对命名文件的读取和写入,或者与文件描述符关联的设备的读取和写入 |
basic_ifstream |
支持从命名文件读取或者从其他与文件描述符关联的设备读取 |
basic_ios |
一个包含所有流都需要的通用函数的基类 |
basic_iostream |
帮助格式化或者翻译由流缓冲区控制的字符序列 |
basic_istream |
帮助读取或者翻译由流缓冲区控制的序列输入 |
basic_istringstream |
支持从内存中的数组读取 basic_string<charT,traits,Allocator> 类对象 |
basic_ofstream |
支持写入命名文件或者其他与文件描述符关联的设备 |
basic_ostream |
帮助格式化或者写入由流缓冲区控制的序列输出 |
basic_ostringstream |
支持写入 basic_string<charT,traits,Allocator> 类的对象 |
basic_streambuf |
用于派生便于字符序列控制的各种流缓冲区的抽象基类 |
basic_string |
处理类似字符实体的模板化类 |
basic_stringbuf |
将输入或者输出序列与任意字符序列关联 |
basic_stringstream |
支持在内存中的数组中写入和读取 basic_string<charT,traits,Allocator> 类对象 |
binary_function |
创建二元函数对象的基类 |
binary_negate |
返回二元谓词结果补码的函数对象 |
binary_search |
对容器中的值执行二元搜索 |
bind1st |
用于将值绑定到函数对象的模板化实用程序 |
bind2nd |
用于将值绑定到函数对象的模板化实用程序 |
binder1st |
用于将值绑定到函数对象的模板化实用程序 |
binder2nd |
用于将值绑定到函数对象的模板化实用程序 |
bitset |
用于存储和处理固定大小位序列的模板类和相关函数 |
cerr |
控制向与 <cstdio> 中声明的对象 stderr 关联的无缓冲流缓冲区的输出 |
char_traits |
具有用于 basic_string 容器和 iostream 类的类型和运算的特性类 |
cin |
控制从与 <cstdio> 中声明的对象 stdin 关联的流缓冲区的输入 |
clog |
控制向与 <cstdio> 中声明的对象 stderr 关联的流缓冲区的输出 |
codecvt |
代码转换侧面 |
codecvt_byname |
一个包含以命名语言环境为基础的代码集转换分类工具的侧面 |
collate |
一个字符串检验、比较和散列侧面 |
collate_byname |
一个字符串检验、比较和散列侧面 |
compare |
返回真或假的二元函数或函数对象 |
complex |
C++ 复数库 |
copy |
复制一定范围内的元素 |
copy_backward |
复制一定范围内的元素 |
count |
计算容器中满足给定条件的元素的数量 |
count_if |
计算容器中满足给定条件的元素的数量 |
cout |
控制向与 <cstdio> 中声明的对象 stdout 关联的流缓冲区的输出 |
ctype |
包括字符分类工具的侧面 |
ctype_byname |
一个包含以命名语言环境为基础的字符分类工具的侧面 |
deque |
一个支持随机访问迭代器并支持在开始和结束位置进行高效插入/删除的序列 |
distance |
计算两个迭代器之间的距离 |
divides |
返回用第一个参数除以第二个参数所得到的结果 |
equal |
比较等式的两个范围 |
equal_range |
在集合中找到最大的子范围,可在该范围中插入一个给定值而无需违反集合排序 |
equal_to |
如果第一个参数与第二个参数相等就返回真的二元函数对象 |
exception |
一个支持逻辑和运行时错误的类 |
facets |
用于封装语言环境功能分类的类系列 |
filebuf |
将输入序列或输出序列与文件关联的类 |
fill |
用给定值初始化一个范围 |
fill_n |
用给定值初始化一个范围 |
find |
在序列中寻找出现的值 |
find_end |
在序列中寻找上次出现的子序列 |
find_first_of |
在序列中寻找在另一个序列中第一次出现的值 |
find_if |
在满足特定谓词的序列中寻找第一次出现的值 |
for_each |
将函数应用于范围内的每个元素 |
fpos |
保持 iostream 类的位置信息 |
front_insert_iterator |
用于在集合起始端插入条目的插入迭代器 |
front_inserter |
用于在集合起始端插入条目的插入迭代器 |
fstream |
支持对命名文件的读取和写入,或者与文件描述符关联的设备的读取和写入 |
generate |
初始化一个具有由值产生器类产生的值的容器 |
generate_n |
初始化一个具有由值产生器类产生的值的容器 |
get_temporary_buffer |
基于指针的基元,用于处理内存 |
greater |
如果第一个参数比第二个参数大就返回真的二元函数对象 |
greater_equal |
如果第一个参数大于或等于第二个参数就返回真的二元函数对象 |
gslice |
用于表示数组的通用片的数字数组类 |
gslice_array |
用于表示 valarray 的类 BLAS 片的数字数组类 |
has_facet |
用于确定语言环境是否具有给定侧面的函数模板 |
ifstream |
支持从命名文件读取或者从其他与文件描述符关联的设备读取 |
includes |
已排序序列的一系列基本操作 |
indirect_array |
用于表示从 valarray 中所选元素的数字数组类 |
inner_product |
计算两个范围 A 和 B 的内积 A X B |
inplace_merge |
将两个已排序的序列合并成为一个 |
insert_iterator |
用于将项目插入集合而非覆盖集合的插入迭代器 |
inserter |
用于将项目插入集合而非覆盖集合的插入迭代器 |
ios |
一个包含所有流都需要的通用函数的基类 |
ios_base |
定义成员类型并维护从它继承的类的数据 |
iosfwd |
声明输入/输出库模板类并使之专用于宽字符和微型字符 |
isalnum |
确定字符是字母还是数字 |
isalpha |
确定字符是否为字母 |
iscntrl |
确定字符是否为控制字符 |
isdigit |
确定字符是否为十进制数字 |
isgraph |
确定字符是否为图形字符 |
islower |
确定字符是否为小写形式 |
isprint |
确定字符是否可打印 |
ispunct |
确定字符是否为标点符号 |
isspace |
确定字符是否为空格 |
istream |
帮助读取或者翻译由流缓冲区控制的序列输入 |
istream_iterator |
具有 istreams 迭代器功能的流迭代器 |
istreambuf_iterator |
从流缓冲区读取为其构造的连续字符 |
istringstream |
支持从内存中的数组读取 basic_string<charT,traits,Alocator> 类对象 |
istrstream |
从内存中的数组读取字符 |
isupper |
确定字符是否为大写形式 |
isxdigit |
确定字符是否为十六进制数字 |
iter_swap |
交换两个位置的值 |
iterator |
基本的迭代器类 |
iterator_traits |
返回有关迭代器的基本信息 |
less |
如果第一个参数比第二个参数小就返回真的二元函数对象 |
less_equal |
如果第一个参数小于或等于第二个参数就返回真的二元函数对象 |
lexicographical_compare |
按照字典编排顺序来比较两个范围 |
limits |
请参阅 numeric_limits |
list |
支持双向迭代器的序列 |
locale |
包含多态侧面集的本地化类 |
logical_and |
如果两个参数都为真就返回真的二元函数对象 |
logical_not |
如果参数是假就返回真的一元函数对象 |
logical_or |
如果两个参数有一个为真就返回真的二元函数 |
lower_bound |
确定在已排序容器中元素的第一个有效位置 |
make_heap |
创建堆 |
map |
用唯一关键字访问非关键字值的关联容器 |
mask_array |
给出了 valarray 的屏蔽视图的数字数组类 |
max |
查找并返回一对值中的最大值 |
max_element |
查找一个范围中的最大值 |
mem_fun |
与指向成员函数的指针相匹配的函数对象,替代全局函数 |
mem_fun1 |
与指向成员函数的指针相匹配的函数对象,替代全局函数 |
mem_fun_ref |
与指向成员函数的指针相匹配的函数对象,替代全局函数 |
mem_fun_ref1 |
与指向成员函数的指针相匹配的函数对象,替代全局函数 |
merge |
将两个已排序的序列合并为第三个序列 |
messages |
消息传送侧面 |
messages_byname |
消息传送侧面 |
min |
查找并返回一对值中的最小值 |
min_element |
查找一个范围中的最小值 |
minus |
返回用第一个参数减去第二个参数所得到的结果 |
mismatch |
比较来自两个序列的元素并返回前两个不匹配的元素 |
modulus |
返回第一个参数除以第二个参数所得到的余数 |
money_get |
输入的货币格式 |
money_put |
输出的货币格式 |
moneypunct |
货币标点格式 |
moneypunct_byname |
货币标点格式 |
multimap |
用关键字访问非关键字值的关联容器 |
multiplies |
用于返回第一个参数与第二个参数相乘结果的二元函数对象。 |
multiset |
允许快速访问已保存关键字值的关联容器 |
negate |
返回其参数负值的一元函数对象 |
next_permutation |
生成以排序函数为基础的序列的连续置换 |
not1 |
对一元谓词函数对象进行求反操作的函数适配器 |
not2 |
对一元谓词函数对象进行求反操作的函数适配器 |
not_equal_to |
如果第一个参数与第二个参数不相等就返回 true 的二元函数对象 |
nth_element |
重新排列集合,以使按照排序顺序,低于第 n 个元素的所有元素位于该元素之前,高于第 n 个元素的所有元素位于该元素之后 |
num_get |
输入的数字格式 |
num_put |
输出的数字格式 |
numeric_limits |
表示标量类型信息的类 |
numpunct |
数字标点格式 |
numpunct_byname |
数字标点格式 |
ofstream |
支持写入命名文件或者其他与文件描述符关联的设备 |
ostream |
帮助格式化或者写入由流缓冲区控制的序列输出 |
ostream_iterator |
流迭代器允许使用具有 ostream 和 istream 的迭代器 |
ostreambuf_iterator |
向从其构造的流缓冲区对象写入连续的字符 |
ostringstream |
支持写入 basic_string<charT,traits,Allocator> 类的对象 |
ostrstream |
写入一个在内存中的数组 |
pair |
异类值对的模板 |
partial_sort |
对实体集合排序的模板化算法 |
partial_sort_copy |
对实体集合排序的模板化算法 |
partial_sum |
计算一组值的连续部分的和 |
partition |
将所有满足给定谓词的实体放置在不满足给定谓词的实体后面 |
permutation |
生成以排序函数为基础的序列的连续置换 |
plus |
用于返回第一个参数与第二个参数相加结果的二元函数对象 |
pointer_to_binary_function |
采用指向二元函数的指针的函数对象,替代 binary_function |
pointer_to_unary_function |
采用指向函数的指针的函数对象类,替代 unary_function |
pop_heap |
从堆中移出最大的元素 |
prev_permutation |
生成以排序函数为基础的序列的连续置换 |
priority_queue |
像优先队列一样运行的容器适配器 |
ptr_fun |
一个与指向某函数的指针对应的过载函数,替换一个函数 |
push_heap |
将一个新元素放入堆 |
queue |
像队列一样运行的容器适配器(先入先出) |
random_shuffle |
集合的随机混洗元素 |
raw_storage_iterator |
使基于迭代器的算法能够将结果存入尚未初始化的内存中 |
remove |
将所需元素移动到容器的前端,并返回一个说明所需元素序列的结束位置的迭代器 |
remove_copy |
将所需元素移动到容器的前端,并返回一个说明所需元素序列的结束位置的迭代器 |
remove_copy_if |
将所需元素移动到容器的前端,并返回一个说明所需元素序列的结束位置的迭代器 |
remove_if |
将所需元素移动到容器的前端,并返回一个说明所需元素序列的结束位置的迭代器 |
replace |
用新值替换集合中的元素 |
replace_copy |
用新值替换集合中的元素,并将修改过的序列移入结果 |
replace_copy_if |
用新值替换集合中的元素,并将修改过的序列移入结果 |
replace_if |
用新值替换集合中的元素 |
return_temporary_buffer |
基于指针的基元,用于处理内存 |
reverse |
反转集合中元素的顺序 |
reverse_copy |
将集合中元素复制到新集合时反转它们的顺序 |
reverse_iterator |
向后遍历集合的迭代器 |
rotate |
将包含第一个元素到第中间减 1 个元素的部分与包含从中间到最后元素的部分交换 |
rotate_copy |
将包含第一个元素到第中间减 1 个元素的部分与包含从中间到最后元素的部分交换 |
search |
在值(这些值在元素状态时与标明范围内的值相等)的序列中查找子序列 |
search_n |
在值(这些值在元素状态时与标明范围内的值相等)的序列中查找子序列 |
set |
支持唯一关键字的关联容器 |
set_difference |
构建已排序差集的基本设置操作 |
set_intersection |
构建已排序交集的基本设置操作 |
set_symmetric_difference |
构建已排序对称差集的基本设置操作 |
set_union |
构建已排序并集的基本设置操作 |
slice |
表示数组的类 BLAS 片的数字数组类 |
slice_array |
用于表示 valarray 的类 BLAS 片的数字数组类 |
smanip |
用于实现参数化操纵符的帮助程序类 |
smanip_fill |
用于实现参数化操纵符的帮助程序类 |
sort |
对实体集合排序的模板化算法 |
sort_heap |
将堆转换为已排序的集合 |
stable_partition |
在保持每组中元素的相对顺序的同时,将所有满足给定谓词的实体放在所有不满足给定谓词的实体之前 |
stable_sort |
对实体集合排序的模板化算法 |
stack |
像堆栈一样运行的容器适配器(后入先出) |
streambuf |
用于派生便于字符序列控制的各种流缓冲区的抽象基类 |
string |
basic_string<char、char_traits<char>、allocator<char>> 的 typedef |
stringbuf |
将输入或者输出序列与任意字符序列关联 |
stringstream |
支持在内存中的数组中写入和读取 basic_string<charT,traits,Alocator> 类对象 |
strstream |
在内存中读取或者写入一个数组 |
strstreambuf |
将输入序列或者输出序列与微型字符数组(其元素存储任意值)关联 |
swap |
交换值 |
swap_ranges |
将一个位置的值与在其他位置的值交换 |
time_get |
输入的时间格式 |
time_get_byname |
输入的时间格式,以命名语言环境为基础 |
time_put |
输出的时间格式 |
time_put_byname |
输出的时间格式,以命名语言环境为基础 |
tolower |
将字符转换为小写形式 |
toupper |
将字符转换为大写形式 |
transform |
将操作应用到集合中的一系列值并且存储结果 |
unary_function |
创建一元函数对象的基类 |
unary_negate |
返回一元谓词结果补码的函数对象 |
uninitialized_copy |
使用构造从一个范围向另一个位置复制值的算法 |
uninitialized_fill |
使用了在集合中设置值的构造算法的算法 |
uninitialized_fill_n |
使用了在集合中设置值的构造算法的算法 |
unique |
从一个值范围移除连续的重复值并将得到的唯一值放入结果 |
unique_copy |
从一个值范围移除连续的重复值并将得到的唯一值放入结果 |
upper_bound |
确定已排序容器中值的最后一个有效位置 |
use_facet |
用于获取侧面的模板函数 |
valarray |
用于数字操作的优化数组类 |
vector |
支持随机访问迭代器的序列 |
wcerr |
控制向与 <cstdio> 中声明的对象 stderr 关联的无缓冲流缓冲区的输出 |
wcin |
控制从与 <cstdio> 中声明的对象 stdin 关联的流缓冲区的输入 |
wclog |
控制向与 <cstdio> 中声明的对象 stderr 关联的流缓冲区的输出 |
wcout |
控制向与 <cstdio> 中声明的对象 stdout 关联的流缓冲区的输出 |
wfilebuf |
将输入序列或输出序列与文件关联的类 |
wfstream |
支持对命名文件的读取和写入,或者与文件描述符关联的设备的读取和写入 |
wifstream |
支持从命名文件读取或者从其他与文件描述符关联的设备读取 |
wios |
一个包含所有流都需要的通用函数的基类 |
wistream |
帮助读取或者翻译由流缓冲区控制的序列输入 |
wistringstream |
支持从内存中的数组读取 basic_string<charT,traits,Allocator> 类对象 |
wofstream |
支持写入命名文件或者其他与文件描述符关联的设备 |
wostream |
帮助格式化或者写入由流缓冲区控制的序列输出 |
wostringstream |
支持写入 basic_string<charT,traits,Allocator> 类的对象 |
wstreambuf |
用于派生便于字符序列控制的各种流缓冲区的抽象基类 |
wstring |
basic_string<wchar_t, char_traits<wchar_t> 和 allocator<wchar_t>> 的 typedef |
wstringbuf |
将输入或者输出序列与任意字符序列关联 |