C++标准库的内容分为10类:
C1.语言支持 C2.输入/输出 C3.诊断 C4.一般工具 C5.字符串
C6.容器 C7.迭代器支持 C8.算法 C9.数值操作 C10.本地化
C1 标准库中与语言支持功能相关的头文件 头文件 描述
<cstddef>
定义宏NULL和offsetof,以及其他标准类型size_t和ptrdiff_t。与对应的标准C头文件的区别是,NULL是C++空指针常量的补
充定义,宏offsetof接受结构或者联合类型参数,只要他们没有成员指针类型的非静态成员即可。
<limits> 提供与基本数据类型相关的定义。例如,对于每个数值数据类型,它定义了可以表示出来的最大值和最小值以及二进制数字的位数。
<climits> 提供与基本整数数据类型相关的C样式定义。这些信息的C++样式定义在 <limits>中
<cfloat> 提供与基本浮点型数据类型相关的C样式定义。这些信息的C++样式定义在 <limits>中
<cstdlib>
提供支持程序启动和终止的宏和函数。这个头文件还声明了许多其他杂项函数,例如搜索和排序函数,从字符串转换为数值等函数。它与对应的标准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样式支持
C2 支持流输入/输出的头文件 头文件 描述
< iostream> 支持标准流cin、cout、cerr和clog的输入和输出,它还支持多字节字符标准流wcin、wcout、wcerr和wclog。
<iomanip> 提供操纵程序,允许改变流的状态,从而改变输出的格式。
<ios> 定义iostream的基类
<istream> 为管理输出流缓存区的输入定义模板类
<ostream> 为管理输出流缓存区的输出定义模板类
<sstream> 支持字符串的流输入输出
<fstream> 支持文件的流输入输出
<iosfwd> 为输入输出对象提供向前的声明
<streambuf> 支持流输入和输出的缓存
<cstdio> 为标准流提供C样式的输入和输出
<cwchar> 支持多字节字符的C样式输入输出
C3 与诊断功能相关的头文件 头文件 描述
<stdexcept> 定义标准异常。异常是处理错误的方式
<cassert> 定义断言宏,用于检查运行期间的情形
<cerrno> 支持C样式的错误信息
C4 定义工具函数的头文件 头文件 描述
<utility> 定义重载的关系运算符,简化关系运算符的写入,它还定义了pair类型,该类型是一种模板类型,可以存储一对值。这些功能在库的其他地方使用
<functional> 定义了许多函数对象类型和支持函数对象的功能,函数对象是支持operator()()函数调用运算符的任意对象
<memory> 给容器、管理内存的函数和auto_ptr模板类定义标准内存分配器
<ctime> 支持系统时钟函数
C5 支持字符串处理的头文件 头文件 描述
<string> 为字符串类型提供支持和定义,包括单字节字符串(由char组成)的string和多字节字符串(由wchar_t组成)
<cctype> 单字节字符类别
<cwctype> 多字节字符类别
<cstring> 为处理非空字节序列和内存块提供函数。这不同于对应的标准C库头文件,几个C样式字符串的一般C库函数被返回值为const和非const的函数对替代了
<cwchar> 为处理、执行I/O和转换多字节字符序列提供函数,这不同于对应的标准C库头文件,几个多字节C样式字符串操作的一般C库函数被返回值为const和非const的函数对替代了。
<cstdlib> 为把单字节字符串转换为数值、在多字节字符和多字节字符串之间转换提供函数
C6 定义容器类的模板的头文件 头文件 描述
<vector> 定义vector序列模板,这是一个大小可以重新设置的数组类型,比普通数组更安全、更灵活
<list> 定义list序列模板,这是一个序列的链表,常常在任意位置插入和删除元素
<deque> 定义deque序列模板,支持在开始和结尾的高效插入和删除操作
<queue> 为队列(先进先出)数据结构定义序列适配器queue和priority_queue
<stack> 为堆栈(后进先出)数据结构定义序列适配器stack
<map> map是一个关联容器类型,允许根据键值是唯一的,且按照升序存储。multimap类似于map,但键不是唯一的。
<set> set是一个关联容器类型,用于以升序方式存储唯一值。multiset类似于set,但是值不必是唯一的。
<bitset> 为固定长度的位序列定义bitset模板,它可以看作固定长度的紧凑型bool数组
C7 支持迭代器的头文件 头文件 描述
<iterator> 给迭代器提供定义和支持
C8 有关算法的头文件 头文件 描述
<algorithm> 提供一组基于算法的函数,包括置换、排序、合并和搜索
<cstdlib> 声明C标准库函数bsearch()和qsort(),进行搜索和排序
<ciso646> 允许在代码中使用and代替&&
C9 有关数值操作的头文件 头文件 描述
<complex> 支持复杂数值的定义和操作
<valarray> 支持数值矢量的操作
<numeric> 在数值序列上定义一组一般数学操作,例如accumulate和inner_product
<cmath> 这是C数学库,其中还附加了重载函数,以支持C++约定
<cstdlib> 提供的函数可以提取整数的绝对值,对整数进行取余数操作
C10 有关本地化的头文件 头文件 描述
<locale> 提供的本地化包括字符类别、排序序列以及货币和日期表示。
<clocale> 对本地化提供C样式支持
分享到:
相关推荐
2. **标准库前驱**:许多Boost库已被采纳进入C++标准库,如`shared_ptr`、`unique_ptr`、`variant`和`tuple`等。 3. **跨平台**:Boost库在多种操作系统和编译器上都能良好运行,包括Windows、Linux、Mac OS X等。 4...
C++_标准库_第2版.z04
这本包含最新资料的完整书籍,反映出被ANSI/ISO C++语言标准规格书纳入的C++标准程序库的最新组成。更明确地说,这本书将焦点放在标准模板库身上,检验其中的容器、迭代器、仿函数和算法。读者还可以找到特殊容、...
C++_标准库_第2版.z02
C++_标准库_第2版.z03
这个“boost准C++标准函数类库.7z”压缩包包含的是Boost库的一个版本——boost_1_70_0,这是一个在C++社区广泛使用的版本,提供了丰富的功能和工具。 Boost库的亮点在于它提供了许多标准库尚未涵盖但对现代软件开发...
四、STL标准库 C++的标准模板库(Standard Template Library,STL)是其强大的工具箱,包含容器(如vector、list、set)、迭代器、算法和函数对象等。这些组件极大地提高了开发效率,例如,容器可以用来存储和组织...
C++作为一种广泛使用的编程语言,提供了丰富的标准库支持,其中包括了大量的数学函数。这些函数分布在不同的头文件中,如`math.h`、`stdlib.h`等。本文将详细介绍部分常用的数学函数及其用法。 #### 二、绝对值相关...
4. **数组与容器**:数组是存储相同类型数据的基本结构,C++标准库中的容器如vector、list、set和map等提供了更高级的数据组织方式。 5. **函数模板与泛型编程**:函数模板允许创建能处理多种数据类型的函数,泛型...
- 函数重载的条件包括函数名相同,但参数列表不同(个数或类型不同),而返回类型不是区分函数重载的标准。 #### 21. 在 C++ 中执行以下 4 条语句后输出 rad 值为:(C) - **选项分析**: - static int hot = 200...
Boost库是C++标准库的重要补充,很多功能经过时间的考验后,甚至被纳入到了C++的后续标准中。 Boost库的核心特点之一是其对C++语言特性的充分利用,如模板元编程、泛型编程和设计模式。这使得Boost库不仅功能强大,...
3. **STL(Standard Template Library)标准模板库**:C++的标准库包含了许多有用的模板类和函数,如容器(如vector、list、set)、算法(如排序、查找)、迭代器和函数对象等。STL极大地提高了C++程序员的效率。 4...
在C++中,我们可以使用数组或标准模板库(STL)中的`std::vector`容器来表示向量。 1. **`std::vector`简介**:`std::vector`是C++ STL中的一种动态数组,它允许我们在运行时添加和删除元素。它可以方便地存储和操作...
### Clion 开发 STM32F407ZGT6 标准库 #### 一、简介 在嵌入式开发领域,STM32 微控制器因其强大的性能、丰富的资源及广泛的适用性而受到广大工程师的喜爱。STM32F407ZGT6 是 STM32F4 系列中的高性能微控制器之一...
标题“ndk使用std标准库.7z”表明这个压缩包可能包含了关于如何在NDK环境下利用C++的Standard Template Library(STL),也就是std库,来编写代码的例子或者教程。描述中提到的关键点是“iostream”,“cout”,和...
2. 支持C++11标准:引入了诸如auto、nullptr、右值引用、lambda表达式等新特性,使C++编程更加简洁和强大。 3. 并行编程工具:包括PPL(Parallel Pattern Library)和AMP(Accelerated Massive Parallelism),用于...
10. **C++标准库**:包括STL(Standard Template Library)如容器、算法、迭代器等,提供了大量预定义的高效数据结构和算法。 11. **扩展性**:Visual C++支持插件开发,允许用户自定义IDE的功能,满足特定需求。 ...
如果你发现zint对你有帮助,考虑通过官方渠道进行捐赠,这将有助于项目购买并实施新的条形码标准,保持其在技术上的领先。捐赠链接为:http://sourceforge.net/project/project_donations.php?group_id=199350。 ##...
10. **标准库容器增强**:例如,std::unordered_map和std::unordered_set提供了哈希表实现,提供更快的查找速度;std::array是固定大小的数组,避免了动态分配的开销。 11. **异常安全保证(Exception Safety)**:...