当前位置:首页 >> 信息与通信 >>

C++标准库介绍


标准库_标准库简介
简介摘要:C++标准库简介 C++标准库的所有头文件都没有扩展名。C++标准库的内容总共在50个标准头文件中定义,其中18个提供了C库的功能。 <cname>形式的标准头文件【 <complex>例外】其内容与ISO标准C包含的name.h头文件相同,但容纳了C++扩展的功能。在 &a

mp;lt;cname>形式标准的头文件中,与宏相关的
C++标准库[biao zhun ku]简介
C++标准库[biao zhun ku]的所有头文件[wen jian]都没有扩展[kuo zhan]名。C++标准库[biao zhun ku]的内容总共在50个标准头文件[wen jian]中定义,其中18个提供了C库的功能。 <cname>形式的标准头文件[wen jian]【 <complex>例外】其内容与ISO标准C包含的name.h头文件[wen jian]相同,但容纳了C++扩展[kuo zhan]的功能。在 <cname>形式标准的头文件[wen jian]中,与宏相关的名称在全局作用[zuo yong]域[zuo yong yu]中定义,其他名称在std命名空间[kong jian][ming ming kong jian]中声明[sheng ming]。在C++中还可以使用name.h形式的标准C库头文件[wen jian]名[wen jian ming]。

C++标准库[biao zhun ku]的内容分为10类:

C1.语言[yu yan]支持[zhi chi] C2.输入[shu ru]/输出[shu chu] C3.诊断[zhen duan] C4.一般工具 C5.字符[zi fu]串[zi fu chuan]

C6.容器 C7.迭代[die dai]器[die dai qi]支持[zhi chi] C8.算法[suan fa] C9.数值操作 C10.本地化


C1 标准库[biao zhun ku]中与语言[yu yan]支持[zhi chi]功能相关的头文件[wen jian] 头文件[wen jian] 描述
<cstddef> 定义宏NULL和offsetof,以及其他标准类型[lei xing]size_t和ptrdiff_t。与对应的标准C头文件[wen jian]的区别是,NULL是C++空指针[zhi zhen][kong zhi zhen]常量[chang liang]的补充定义,宏offsetof接受结构[jie gou]或者联合类型[lei xing]参数[can shu][lei xing can shu],只要他们没有成员指针[zhi zhen]类型[lei xing]的非静态成员[jing tai cheng yuan]即可。
<limits> 提供与基本数据[shu ju]类型[lei xing][shu ju lei xing]相关的定义。例如,对于每个数值数据[shu ju][shu zhi shu ju]类型[lei xing],它定义了可以表示出来的最大值和最小值以及二进制[er jin zhi]数字[shu zi][er jin zhi shu zi]的位数。
<climits> 提供与基本整数数据[shu ju]类型[lei xing][shu ju lei xing]相关的C样式定义。这些信息[xin xi]的C++样式定义在 <limits>中
<cfloat> 提供与基本浮点型数据[shu ju]类型[lei xing][shu ju lei xing]相关的C样式定义。这些信息[xin xi]的C++样式定义在 <limits>中
<cstdlib> 提供支持[zhi chi]程序[zhi chi cheng xu]启动[qi dong]和终止的宏和函数[han shu]。这个头文件[wen jian]还声明[sheng ming]了许多其他杂项函数[han shu],例如搜索[sou suo]和排序[pai xu]函数[han shu],从字符[zi fu]串[zi fu chuan]转换[zhuan huan]为数值等函数[han shu]。它与对应的标准C头文件[wen jian]stdlib.h不同,定义了abort(void)。abort()函数[han shu]还有额外的功能,它不为静态或自动对象[dui xiang]调用[tiao yong]析构[xi gou]函数[han shu][xi gou han shu],也不调用[tiao yong]传给atexit()函数[han shu]的函数[han shu]。它还定义了exit()函数[han shu]的额外功能,可以释放[shi fang]静态对象[dui xiang],以注册[zhu ce]的逆序调用[tiao yong]用atexit()注册[zhu ce]的函数[han shu]。清除[qing chu]并关闭所有打开的C流,把控制[kong zhi]权返回给主机[zhu ji]环境。
<new> 支持[zhi chi]动态[dong tai]内存[nei cun]分配[fen pei]
<typeinfo> 支持[zhi chi]变量[bian liang]在运行[yun hang]期间的类型[lei xing]标识[biao shi]
<exception> 支持[zhi chi]异常[yi chang]处理[yi chang chu li],这是处理程序[chu li cheng xu]中可能发生的错误[cuo wu]的一种方式
<cstdarg> 支持[zhi chi]接受数量可变的参数[can shu]的函数[han shu]。即在调用[tiao yong]函数[han shu]时,可以给函数[han shu]传送[chuan song]数量不等的数据[shu ju]项[shu ju xiang]。它定义了宏va_arg、va_end、va_start以及va_list类型[lei xing]
<csetjmp> 为C样式的非本地跳跃提供函数[han shu]。这些函数[han shu]在C++中不常用
<csignal> 为中断[zhong duan]处理[zhong duan chu li]提供C样式支持[zhi chi]

C2 支持[zhi chi]流输入[shu ru]/输出[shu chu]的头文件[wen jian] 头文件[wen jian] 描述
< iostream> 支持[zhi chi]标准流cin、cout、cerr和clog的输入[shu ru]和输出[shu chu],它还支持[zhi chi]多字节[duo zi jie]字符[zi fu]标准流wcin、wcout、wcerr和wclog。
<iomanip> 提供操纵程序,允许改变流的状态[zhuang tai],从而改变输出[shu chu]的格式。
<ios> 定义iostream的基类[ji lei]
<istream> 为管理输出[shu chu]流[shu chu liu]缓存[huan cun]区的输入[shu ru]定义模板类
<ostream> 为管理输出[shu chu]流[shu chu liu]缓存[huan cun]区的输出[shu chu]定义模板类
<sstream> 支持[zhi chi]字符[zi fu]串[zi fu chuan]的流输入[shu ru]输出[shu chu][shu ru shu chu]
<fstream> 支持[zhi chi]文件[wen jian]的流输入[shu ru]输出[shu chu][shu ru shu chu]
<iosfwd> 为输入[shu ru]输出[shu chu][shu ru shu chu]对象[dui xiang]提供向前的声明[sheng ming]
<streambuf> 支持[zhi chi]流输入[shu ru]和输出[shu chu]的缓存[huan cun]
<cstdio> 为标准流提供C样式的输入[shu ru]和输出[shu chu]
<cwchar> 支持[zhi chi]多字节[duo zi jie]字符[zi fu]的C样式输入[shu ru]输出[shu chu][shu ru shu chu]

C3 与诊断[zhen duan]功能相关的头文件[wen jian] 头文件[wen jian] 描述
<stdexcept> 定义标准异常[yi chang]。异常[yi chang]是处理错误[cuo wu]的方式
<cassert> 定义断言[duan yan]宏,用于[yong yu]检查运行[yun hang]期间的情形
<cerrno> 支持[zhi chi]C样式的错误[cuo wu]信息[xin xi]

C4 定义工具函数[han shu]的头文件[wen jian] 头文件[wen jian] 描述
<utility> 定义重载[zhong zai]的关系运算[yun suan]符,简化关系运算[yun suan]符的写入,它还定义了pair类型[lei xing],该类型[lei xing]是一种模板类型[lei xing],可以存储一对值。这些功能在库的其他地方使用
<functional> 定义了许多函数[han shu]对象[dui xiang]类型[lei xing]和支持[zhi chi]函数[han shu]对象[dui xiang]的功能,函数[han shu]对象[dui xiang]是支持[zhi chi]operator()()函数[han shu]调用[tiao yong][han shu tiao yong]运算[yun suan]符的任意对象[dui xiang]
<memory> 给容器、管理内存[nei cun]的函数[han shu]和auto_ptr模板类定义标准内存[nei cun]分配[fen pei]器
<ctime> 支持[zhi chi]系统[xi tong][zhi chi xi tong]时钟[shi zhong]函数[han shu]

C5 支持[zhi chi]字符[zi fu]串[zi fu chuan]处理的头文件[wen jian] 头文件[wen jian] 描述
<string> 为字符[zi fu]串[zi fu chuan]类型[lei xing]提供支持[zhi chi]和定义,包括单字节字符[zi fu]串[zi fu chuan](由char组成)的string和多字节[duo zi jie]字符[zi fu]串[zi fu chuan](由wchar_t组成)
<cctype> 单字节字符[zi fu]类别
<cwctype> 多字节[duo zi jie]字符[zi fu]类别
<cstring> 为处理非空字节序列和内存[nei cun]块提供函数[han shu]。这不同于对应的标准C库头文件[wen jian],几个C样式字符[zi fu]串[zi fu chuan]的一般C库函数[han shu]被返回值为const和非const的函数[han shu]对替代了
<cwchar> 为处理、执行[zhi hang]I/O和转换[zhuan huan]多字节[duo zi jie]字符[zi fu]序列提供函数[han shu],这不同于对应的标准C库头文件[wen jian],几个多字节[duo zi jie]C样式字符[zi fu]串[zi fu chuan]操作的一般C库函数[han shu]被返回值为const和非const的函数[han shu]对替代了。
<cstdlib> 为把单字节字符[zi fu]串[zi fu chuan]转换[zhuan huan]为数值、在多字节[duo zi jie]字符[zi fu]和多字节[duo zi jie]字符[zi fu]串[zi fu chuan]之间转换[zhuan huan]提供函数[han shu]

C6 定义容器类[rong qi lei]的模板的头文件[wen jian] 头文件[wen jian] 描述
<vector> 定义vector序列模板,这是一个大小可以重新设置[she zhi]的数组[shu zu]类型[lei xing],比普通数组[shu zu]更安全、更灵活
<list> 定义list序列模板,这是一个序列的链表[lian biao],常常在任意位置[wei zhi]插入和删除[shan chu]元素
<deque> 定义deque序列模板,支持[zhi chi]在开始和结尾的高效插入和删除[shan chu]操作
<queue> 为队列[dui lie](先进先出[xian jin xian chu])数据[shu ju]结构[jie gou][shu ju jie gou]定义序列适配器[shi pei qi]queue和priority_queue
<stack> 为堆栈[dui zhan](后进先出[hou jin xian chu])数据[shu ju]结构[jie gou][shu ju jie gou]定义序列适配器[shi pei qi]stack
<map> map是一个关联容器类[rong qi lei]型,允许根据键值是唯一的,且按照升序存储。multimap类似于map,但键不是唯一的。
<set> set是一个关联容器类[rong qi lei]型,用于[yong yu]以升序方式存储唯一值。multiset类似于set,但是值不必是唯一的。
<bitset> 为固定长度的位序列定义bitset模板,它可以看作固定长度的紧凑型bool数组[shu zu]

C7 支持[zhi chi]迭代[die dai]器[die dai qi]的头文件[wen jian] 头文件[wen jian] 描述
<iterator> 给迭代[die dai]器[die dai qi]提供定义和支持[zhi chi]

C8 有关算法[suan fa]的头文件[wen jian] 头文件[wen jian] 描述
<algorithm> 提供一组基于算法[suan fa]的函数[han shu],包括置换、排序[pai xu]、合并和搜索[sou suo]
<cstdlib> 声明[sheng ming]C标准库[biao zhun ku]函数[han shu]bsearch()和qsort(),进行搜索[sou suo]和排序[pai xu]
<ciso646> 允许在代码[dai ma]中使用and代替&&

C9 有关数值操作的头文件[wen jian] 头文件[wen jian] 描述
<complex> 支持[zhi chi]复杂数值的定义和操作
<valarray> 支持[zhi chi]数值矢量的操作
<numeric> 在数值序列上定义一组一般数学操作,例如accumulate和inner_product
<cmath> 这是C数学库,其中还附加了重载[zhong zai]函数[han shu],以支持[zhi chi]C++约定[yue ding]
<cstdlib> 提供的函数[han shu]可以提取[ti qu]整数的绝对值,对整数进行取余数操作

C10 有关本地化的头文件[wen jian] 头文件[wen jian] 描述
<locale> 提供的本地化包括字符[zi fu]类别、排序[pai xu]序列以及货币和日期表示。
<clocale> 对本地化提供C样式支持[zhi chi]


相关文章:
C++各大名库的介绍
C++各大名库的介绍_计算机软件及应用_IT/计算机_专业资料。C++各大名库的介绍在...3、SGI STL 参考站点:http://www.roguewave.com/ SGI 公司的 C++标准模版库...
C++标准库的学习笔记
C++标准库的学习笔记 C++标准库是个极为庞大的体系,因此面面俱到的介绍几乎是不可能的。而 且任何一个系统都有其复杂的一面,我觉得即使是只介绍 C 的标准库...
C++的iostream标准库介绍
34页 免费 C++模板专题 12页 免费如要投诉违规内容,请到百度文库投诉中心;如要提出功能问题或意见建议,请点击此处进行反馈。 C++的iostream标准库介绍 隐藏>> C++...
C++标准模板库STL介绍
C++标准模板库STL介绍 隐藏>> 标准模板库 STL(Standard Template Library)指南刘振飞 liuzf@pku.org.cn 1999-10-20 / ** * 版权所有 (C) 1999-2004 刘振飞...
C++的iostream标准库介绍
C++的 iostream 标准库介绍 o o o o o o 0 为什么需要 iostream 1 iostream: istream 和 ostream 2 fstream: ifstream 和 ofstream 3 strstream: ostrstream ...
C++“准”标准库Boost简介
C++“准”标准库 Boost 简介 标准 C++的当前版本发布于 1998,它为传统的面向过程编程、面向对象编程和泛型编程提 供了坚实的支持。正如旧 C++ (1998 之前的) ...
C++标准库之中文输出详细介绍
C++标准库之中文输出详细介绍 标准库之中文输出详细介绍 使用 C++标准库的 iostream,可以方便地将控制台、文件、字符串以及其它可扩充的外部表 示作为流来处理,但...
C++的iostream标准库介绍---深入理解io标准库,以及重载性
C++的iostream标准库介绍---深入理解io标准库,以及重载性_IT/计算机_专业资料。这些是我的学习c++的时候收集到得资料 希望对大家有所帮助为什么...
C++常用库
.roguewave.com/'> http://www.roguewave.com/ SGI 公司的 C++标准模版库...因为其类层次极像 MFC,所以有文章介绍从 MFC 到 WxWindows 的 代码移植以实现...
C++各大有名库的介绍——准标准库Boost
C++各大有名库的介绍——准标准库 C++各大有名库的介绍——准标准库 Boost 各大有名库的介绍—— Boost 库是一个经过千锤百炼、可移植、提供源代码的 C++...
更多相关标签:
c 标准库 | c 标准程序库 | c md5 标准库 | c 标准库第二版 pdf | c语言标准库 | c 标准库 pdf | c语言标准函数库 | c 标准模板库 |