注:每个库详细介绍以后会在本文中以超链接形式呈现给大家
1.c++标准库(C++ Standard Library)
C++强大的功能来源于其丰富的类库及库函数资源。 C++标准库(C++ Standard Library, 亦可称作,C++标准程序库)的内容总共在50个标准头文件中定义。在C++开发中,要尽可能地利用标准库完成。
基本介绍
C++标准库,C++ Standard Library,是类库和函数的集合,其使用核心语言写成,由c++标准委员会制定,并不断维护更新。
这样做的直接好处包括:
(1)成本:
已经作为标准提供,不必再花费时间、人力重新开发。
(2)质量:
标准库的都是经过严格测试的,正确性有保证。
(3)效率:
关于人的效率已经体现在成本中了,关于代码的执行效率要相信实现标准库的前辈的水平。
(4)良好的编程风格:
采用行业中普遍的做法进行开发。
C++标准更新
c++标准库的标准化始于1989年,由国际标准化组织(the International Organization for Standardization,ISO)推动。至今完成了四个标准,那就是各种C++ standard:
c++98
1998年批准,是第一份C++标准。文档编号ISO/IEC 14882:1998。
c++03
是一份“技术勘误”,修复了几个小bug,文档编号ISO/IEC 14882:2003。
TR1
内含大尺度的标准库扩充,文档编号ISO/IEC TR 19768:2007。
c++11
对c++内含语言或/和标准库两方面皆十分重大的改善和强化。文档编号ISO/IEC 14882:2011。
另外还有最新的:
内容分类
C++标准库的内容基本可以分以下为10类
(未注明为c++98 03的标准库)。
C1. 标准库中与语言支持功能相关的头文件
头文件 | 描述 |
---|---|
<cstddef> | 定义宏NULL和offsetof,以及其他标准类型size_t和ptrdiff_t。与对应的标准C头文件的区别是,NULL是C++空指针常量的补充定义(c++11中已有关键字nullptr),宏offsetof接受结构或者联合类型参数,只要他们没有成员指针类型的非静态成员即可。(c++11:)nullptr_t是nullptr的类型。 |
<limits> | 提供与基本数据类型相关的定义。例如,对于每个数值数据类型,它定义了可以表示出来的最大值和最小值以及二进制数字的位数。 |
<climits> | 提供与基本整数数据类型相关的C样式定义。这些信息的C++样式定义在<limits>中 |
<cfloat> | 提供与基本浮点型数据类型相关的C样式定义。这些信息的C++样式定义在<limits>中 |
<cstdlib> | 提供支持程序启动和终止的宏和函数。这个头文件还声明了许多其他杂项函数,例如搜索和排序函数,从字符串转换为数值等函数。它与对应的标准C头文件stdlib.h不同,定义了abort(void)。abort()函数还有额外的功能,它不为静态或自动对象调用析构函数,也不调用传给atexit()函数的函数。它还定义了exit()函数的额外功能,可以释放静态对象,以注册的逆序调用用atexit()注册的函数。清除并关闭所有打开的C流,把控制权返回给主机环境。 |
<new> | 支持动态内存分配 |
<typeinfo> | 支持变量在运行期间的类型标识 |
<exception> | 支持异常处理,这是处理程序中可能发生的错误的一种方式 |
<cstdarg> |