十类C++标准库概述在C++中,库的地位是十分低的。C++之父BjarneStroustrup先生多次回应了设计库来扩展功能要好过设计更好的语法的言论。现实中,C++的库门类多样,解决问题的问题也是极为普遍,库从轻量级到重量级的都有。
C++标准库中获取了C++程序的基本设施,虽然C++标准库随着C++标准着急了许多年,直到标准的实施才月定型,是已被实践证明为有工业级别强度的佳作。1/13C++标准库的所有头文件都没扩展名。C++标准库的内容总共在50个标准头文件中定义,其中18个获取了C库的功能。
cname形式的标准头文件[complex值得注意]内容与ISO标准C包括的name.h头文件完全相同,但容纳了C++拓展的功能。在cname形式标准的头文件中,与宏涉及的名称在全局作用域中定义,其他名称在std命名空间中声明。
在C++中还可以用于name.h形式的标准C库头文件名。2/13C++标准库的内容分成10类:C1.语言反对C2.输出/输入C3.临床C4.一般工具C5.字符串C6.容器C7.递归器反对C8.算法C9.数值操作者C10.本地化3/13C1标准库中与语言反对功能涉及的头文件头文件叙述cstddef定义宏NULL和offsetof,以及其他标准类型size_t和ptrdiff_t。与对应的标准C头文件的区别是,NULL是C++空指针常量的补足定义,宏offsetof拒绝接受结构或者牵头类型参数,只要他们没成员指针类型的非静态成员才可。limits获取与基本数据类型涉及的定义。
例如,对于每个数值数据类型,它定义了可以回应出来的最大值和最小值以及二进制数字的位数。climits获取与基本整数数据类型涉及的C样式定义。这些信息的C++样式定义在limits中cfloat获取与基本浮点型数据类型涉及的C样式定义。这些信息的C++样式定义在limits中4/13cstdlib获取反对程序启动和中止的宏和函数。
这个头文件还声明了许多其他杂项函数,例如搜寻和排序函数,从字符串切换为数值等函数。它与对应的标准C头文件stdlib.h有所不同,定义了abort(void)。
abort()函数还有额外的功能,它不为静态或自动对象调用析可分函数,也不调用传授给atexit()函数的函数。它还定义了exit()函数的额外功能,可以获释静态对象,以登记的逆序调用用atexit()登记的函数。清理并重开所有关上的C流,把控制权回到给主机环境。new反对动态内存分配typeinfo反对变量在运营期间的类型标识exception反对出现异常处置,这是处理程序中有可能再次发生的错误的一种方式cstdarg反对拒绝接受数量星型的参数的函数。
即在调用函数时,可以给函数传输数量平均的数据项。它定义了宏va_arg、va_end、va_start以及va_list类型csetjmp为C样式的非本地冲刺获取函数。这些函数在C++中不常用csignal为中断处置获取C样式反对5/13C2反对流输出/输入的头文件头文件叙述iostream反对标准流cin、cout、cerr和clog的输出和输入,它还反对多字节字符标准流wcin、wcout、wcerr和wclog。
iomanip获取操控程序,容许转变东流的状态,从而转变输入的格式。ios定义iostream的基类istream为管理输入流内存区的输出定义模板类ostream为管理输入流内存区的输入定义模板类sstream反对字符串的流输入输出fstream反对文件的流输入输出iosfwd为输入输出对象获取向前的声明streambuf反对流输出和输入的内存cstdio为标准流获取C样式的输出和输入cwchar反对多字节字符的C样式输入输出6/13C3与临床功能涉及的头文件头文件叙述stdexcept定义标准出现异常。
出现异常是处理错误的方式cassert定义断言宏,用作检查运营期间的情形cerrno反对C样式的错误信息7/13C4定义工具函数的头文件头文件叙述utility定义牵引的关系运算符,修改关系运算符的载入,它还定义了pair类型,该类型是一种模板类型,可以存储一对值。这些功能在库的其他地方用于functional定义了许多函数对象类型和反对函数对象的功能,函数对象是反对operator()()函数调用运算符的给定对象memory给容器、管理内存的函数和auto_ptr模板类定义标准内存分配器ctime支持系统时钟函数8/13C5反对字符串处置的头文件头文件叙述string为字符串类型获取反对和定义,还包括单字节字符串(由char构成)的string和多字节字符串(由wchar_t构成)cctype单字节字符类别cwctype多字节字符类别cstring为处置非空字节序列和内存块获取函数。
这不同于对应的标准C库头文件,几个C样式字符串的一般C库函数被返回值为const和非const的函数对替代了cwchar为处置、继续执行I/O和切换多字节字符序列获取函数,这不同于对应的标准C库头文件,几个多字节C样式字符串操作者的一般C库函数被返回值为const和非const的函数对替代了。cstdlib为把单字节字符串切换为数值、在多字节字符和多字节字符串之间切换获取函数9/13C6定义容器类的模板的头文件头文件叙述vector定义vector序列模板,这是一个大小可以新的设置的数组类型,比普通数组更加安全性、更加灵活性list定义list序列模板,这是一个序列的链表,经常在给定方位放入和移除元素deque定义deque序列模板,反对在开始和结尾的高效放入和移除操作者queue为队列(先进先出)数据结构定义序列适配器queue和priority_queuestack为堆栈(后进先出)数据结构定义序列适配器stackmapmap是一个关联容器类型,容许根据键值是唯一的,且按照升序存储。multimap类似于map,但键不是唯一的。setset是一个关联容器类型,用作以升序方式存储唯一值。
multiset类似于set,但是值不用是唯一的。bitset为相同长度的位序列定义bitset模板,它可以看做相同长度的紧凑型bool数组10/13C7反对递归器的头文件头文件叙述iterator给递归器获取定义和反对11/13C8有关算法的头文件头文件叙述algorithm获取一组基于算法的函数,还包括移位、排序、拆分和搜寻cstdlib声明C标准库函数bsearch()和qsort(),展开搜寻和排序ciso646容许在代码中用于and替换12/13C9有关数值操作者的头文件头文件叙述complex反对简单数值的定义和操作者valarray反对数值矢量的操作者numeric在数值序列上定义一组一般数学操作者,例如accumulate和inner_productcmath这是C数学库,其中还可选了牵引函数,以反对C++誓约cstdlib获取的函数可以萃取整数的绝对值,对整数展开所取余数操作者13/13C10有关本地化的头文件头文件叙述locale获取的本地化还包括字符类别、排序序列以及货币和日期回应。
本文来源:AG 尊龙凯时-www.zp911.com