• 做一个幸福的人,读书,旅行,努力工作,关心身体和心情。
  • 不管有没有人爱,也要努力做一个可爱的人。不埋怨谁,不嘲笑谁,也不羡慕谁,阳光下灿烂,风雨中奔跑,做自己的梦,走自己的路。

C++标准库头文件

C/C++ lcq 7个月前 (03-30) 252次浏览 0个评论

C++ 标准库提供了大量的头文件用以支持程序特性并简化相关开发。最新标准库(C++11)提供了约 80 个头文件,本专题将其分为以下几类。

注意!一些头文件(比如:<cstdlib>)可能会涉及多个子库。如想了解一头文件中具体哪些内容与某个库相关,可以查询该子库的详细说明,也可以从这里开始。
<cstddef> 定义(typedef)了一些类型,比如:std::size_tNULL及其它
<limits> 提供了查询基础类型属性的标准方法
<climits> 整数类型的限制
<cfloat> 浮点数类型的限制
<cstdint> 一些字节大小固定(Fixed-size)的类型及其它类型的限制
<cstdlib> 已在“通用工具库”中定义
<new> 底层内存管理
<typeinfo> 运行时类型信息
<exception> 异常处理
<initializer_list> C++11 std::initializer_list类模板
<csignal> 用与信号量(Signal)管理的函数及宏常量
<csetjmp> 包含用来跳转到执行上下文(Execution context)的宏或函数
<cstdalign> C++11 定义了__alignas_is_defined宏常量
<cstdarg> 可变长参数列表的处理
<cstdbool> C++11 定义了__bool_true_false_are_defined宏常量
<ctime> 已在“通用工具库”中定义

详细

<stdexcept> 提供了一些标准异常对象
<cassert> 提供了用于断言的宏
<cerrno> 提供了一个保存了最近错误号的宏
<system_error>C++11 定义了std::error_code,用来依赖于平台的(Platform-dependent)错误码

详细

<utility> 大量实用程序组件
<tuple> C++11 std::tuple类模板,使C++程序支持多元组
<bitset> std::bitset类模板,提供位集操作
<memory> 用于上层内存管理,包含智能指针、内存分配器、哈希(Hash)、类型转换等。
<cstdlib> 一般用途的实用程序,比如程序控制、动态内存分配、随机数、排序及搜索
<cstring> 已在“字符串库”中定义
<functional> 提供被设计用来支持标准算法的函数对象
<type_traits> C++11 编译时类型信息
<ratio> C++11 编译时有理数运算
<chrono> C++11 C++时间实用程序
<ctime> C型时间/日期实用程序
<scoped_allocator> C++11 支持可嵌套的内存分配器(Allocator)
<typeindex> C++11 std::type_index

详细

<string> std::basic_string类模板
<cctype> 用来判断字符数据类型的函数,比如:std::isdigitstd::isspacestd::islower
<cwctype> 用来判断宽字符数据类型的函数,比如:std::iswdigitstd::iswspacestd::iswlower
<cstring> 大量窄字符字符串处理函数
<cwchar> 大量宽字符及多字符字符串处理函数
<cstdlib> 已在“通用工具库”中定义
<cuchar> C++11 C型Unicode字符转换函数

详细

<locale> 本地化相关,包括对国际字符分类的的支持,对字符串排序规则的支持等
<codecvt> C++11 Unicode转换机制
<clocale> C型本地化相关

详细

<iterator> 容器迭代器

详细

<algorithm> 用于操作容器的算法
<cstdlib> 已在“通用工具库”中定义

详细

<cfenv> C++11 浮点数环境访问函数
<complex> 复数类型
<random> 随机数生成器与随机数分布
<valarray> 包含用来表示及操作值的数组的类,比如获得一个数组中所有值的和、最大值、最小值等
<numeric> 对容器中的值进行数值操作
<cmath> 普通的数学函数
<ctgmath> C++11 简单的包含头文件<ccomplex><cmath>
<cstdlib> 已在“通用工具库”中定义

详细

<iosfwd> 前置声明所有输入/输出库中的类
<iostream> std::basic_iostream类模板
<ios> std::ios_basestd::basic_ios类模板
<streambuf> std::basic_streambuf类模板
<istream> std::basic_istream类模板
<ostream> std::basic_ostream类模板
<iomanip> 控制输入及输出格式的输助函数
<sstream> std::basic_stringstreamstd::basic_istringstreamstd::basic_ostringstream类模板
<fstream> std::basic_fstreamstd::basic_ifstreamstd::basic_ofstream类模板
<cstdio> C型输入/输出函数
<cinttypes> 格式化相关的宏
<strstream> 已弃用 std::strstreamstd::istrstreamstd::ostrstream 类模板

详细

<regex> C++11 提供了支持处理正则表达式的类、算法及迭代器

详细

<atomic> C++11 原子操作相关

详细

<thread> C++11 std::thread类及一些用来创建或管理线程的线程支持函数
<mutex> C++11 互斥原语
<condition_variable> C++11 线程等待条件
<future> C++11 提供支持异步执行的原语

详细

<ciso646> 空的头文件,c头文件<iso646.h>中定义的宏在C++中已成为关键字
<ccomplex> 仅仅包含头文件<complex>
<assert.h> 已弃用 <cassert>的区别是内部所有名字都是全局的
<complex.h>已弃用 <ccomplex>的区别是内部所有名字都是全局的
<ctype.h>已弃用 <cctype>的区别是内部所有名字都是全局的
<errno.h>已弃用 <cerrno>的区别是内部所有名字都是全局的
<fenv.h>已弃用 <cfenv>的区别是内部所有名字都是全局的
<float.h>已弃用 <cfloat>的区别是内部所有名字都是全局的
<inttypes.h>已弃用 <cinttypes>的区别是内部所有名字都是全局的
<iso646.h>已弃用 <ciso646>的区别是内部所有名字都是全局的
<limits.h>已弃用 <climits>的区别是内部所有名字都是全局的
<locale.h>已弃用 <clocale>的区别是内部所有名字都是全局的
<math.h>已弃用 <cmath>的区别是内部所有名字都是全局的
<setjmp.h>已弃用 <csetjmp>的区别是内部所有名字都是全局的
<signal.h>已弃用 <csignal>的区别是内部所有名字都是全局的
<stdalign.h>已弃用 <cstdalign>的区别是内部所有名字都是全局的
<stdarg.h>已弃用 <cstdarg>的区别是内部所有名字都是全局的
<stdbool.h>已弃用 <cstdbool>的区别是内部所有名字都是全局的
<stddef.h>已弃用 <cstddef>的区别是内部所有名字都是全局的
<stdint.h>已弃用 <cstdint>的区别是内部所有名字都是全局的
<stdio.h>已弃用 <cstdio>的区别是内部所有名字都是全局的
<stdlib.h>已弃用 <cstdlib>的区别是内部所有名字都是全局的
<string.h>已弃用 <cstring>的区别是内部所有名字都是全局的
<tgmath.h>已弃用 <ctgmath>的区别是内部所有名字都是全局的
<time.h>已弃用 <ctime>的区别是内部所有名字都是全局的
<uchar.h>已弃用 <cuchar>的区别是内部所有名字都是全局的
<wchar.h>已弃用 <cwchar>的区别是内部所有名字都是全局的
<wctype.h>已弃用 <cwctype>的区别是内部所有名字都是全局的

乐趣公园 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明C++标准库头文件
喜欢 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址