C++ 标准库以若干头文件的方式提供。

下面简单介绍一个各头文件的内容。

第一部分 容器 Containers

<array>

C++11 新增。提供了容器类模板 std::array,固定大小数组的容器。

<bitset>

提供了专门用来存放位组(一系列 bit)的容器类 std::bitset

<deque>

提供了双向队列容器类模板 std::deque

<forward_list>

C++11 新增。提供了单向链表容器类模板 std::forward_list

<list>

提供了双向链表容器类模板 std::list

<map>

提供了类模板 std::map 和 std::multimap,前者是有序的一组偶对,后者与前者类似但允许键重复。

<queue>

提供了由 std::duque (经过适配器模式)包装而来的容器类 std::queue,即单向队列。还提供了优先队列std::priority_queue

<set>

提供了容器类模板 std::set 和 std::multiset

<stack>

提供了由 std::duque (经过适配器模式)包装而来的容器类 std::stack,即栈。

<unordered_map>

C++11 新增。提供了容器类模板 std::unordered_map 和 std::unordered_multimap,它们都属于哈希表(散列表)。

<unordered_set>

C++11 新增。提供了容器类模板 std::unordered_set 和 std::unordered_multiset

<vector>

提供了容器类模板 std::vector,即动态数组。

第二部分 通用 General

<algorithm>

提供了很多针对 STL 容器的算法。

<chrono>

提供了诸如 std::chrono::duration 和 std::chrono::time_point 等的时间元素,还有时钟。

<functional>

提供了一些函数对象(如仿函数)。

<iterator>

提供了与迭代器相关的一些类和模板。

<memory>

提供了 C++ 内存管理的工具,例如 std::unique_ptrstd::shared_ptrstd::weak_ptr

<stdexcept>

这里面有一些表示异常的类,例如 std::exceptionstd::logic_errorstd::runtime_error

<tuple>

C++11 新增。提供了元组 std::tuple

<utility>

提供了类模板偶对 std::pair 。所谓偶对,就是放在一起的、有序的两个东西 (a,b)。提供了 namespacestd::rel_ops,用来更简便地使用运算符重载。

第三部分 本地化 Localization

<locale>

以类和函数的形式封装了与区域有关的操作。

<codecvt>

提供了不同代码页(code page)之间字符编码的转换功能。

第四部分 字符串 Strings

<string>

提供了 C++ 标准的字符串类和字符串模板。

<regex>

C++11 新增。提供了用正则表达式进行字符串匹配的功能。

第五部分 流与输入输出 Streams and Input/Output

<fstream>

提供了对文件的输入输出设施。

<iomanip>

提供了控制输出格式的功能。例如,基于特定的进制数格式化整数,或者控制浮点数的精度。

<ios>

提供了 iostream 需要的一些类型和函数。

<iosfwd>

提供了一些与 I/O 有关的转发操作。

<iostream>

提供了 C++ 输入与输出的基础层。

<istream>

提供了类模板 std::istream 和其他与输入相关的辅助类。

<ostream>

提供了类模板 std::ostream 和其他与输出相关的辅助类。

<sstream>

提供了类模板 std::stringstream 和其他用来处理字符串流的类。

<streambuf>

提供了对字符序列(文件或字符串)进行读写的基础设施。

第六部分 辅助 Language support

<exception>

提供了一些与异常处理有关的类型和函数。

<limits>

提供了类模板 std::numeric_limits,用来描述基本数字类型的最值。

<new>

与 new 和 delete 运算符有关的一些类型和函数。

<typeinfo>

C++ 运行时的类型信息的一些工具。

第七部分 线程支持 Thread support library

<thread>

C++11新增。提供了使用线程所需要的类和 namespace。

<mutex>

C++11新增。这里面有互斥对象(mutex),锁(lock),还有 once(一种用来保证某函数在某进程中只执行一次的对象)。

<condition_variable>

C++11新增。条件变量。一个条件变量代表一个条件,当一个条件变量等待时,它会阻塞当前线程,直到它代表的条件为真。

<future>

C++11新增。可以用它来进行便捷的异步操作,以免代码中出现一大堆回调函数。

第八部分 数学与数值计算 Numerics library

使得 C++ 程序可以执行(不完善的)数学运算的组件。

<complex>

复数相关。

<random>

(伪)随机数相关。

<valarray>

定义了五个类模板 valarrayslice_arraygslice_arraymask_arrayindirect_array,两个类slicegslice,还有一系列相关的函数模板。

<numeric>

一些通用的数学运算。

第九部分 C 标准库 C standard library

C 标准库也可以在 C++ 中使用。

https://my.oschina.net/jthmath/blog/886195

C++ 标准库概览(一分钟就看完了)的更多相关文章

  1. python系列十七:Python3 标准库概览

    #!/usr/bin/python #-*-coding:gbk-*- #Python3 标准库概览'''操作系统接口os模块提供了不少与操作系统相关联的函数.建议使用 "import os ...

  2. python023 Python3 标准库概览

    Python3 标准库概览 操作系统接口 os模块提供了不少与操作系统相关联的函数. >>> import os >>> os.getcwd() # 返回当前的工作 ...

  3. Python标准库概览

    Python标准库通常被称为"自带的电池",自然地提供了广泛的功能,涵盖了大概200个左右的包与模块.不断有高质量的包或模块被开发出来,极大的丰富了标准库.但有些模块放在标准库中很 ...

  4. Python3 标准库概览

    操作系统接口 os模块提供了不少与操作系统相关联的函数. >>> import os >>> os.getcwd() # 返回当前的工作目录 'C:\\Python ...

  5. python3 第三十三章 - 标准库概览Part II

    第二部分提供了更高级的模块用来支持专业编程的需要.这些模块很少出现在小型的脚本里. 1. 输出格式化reprlib 模块提供了一个用来缩写显示大型或深层嵌套容器的 定制版repr() . >&g ...

  6. python3 第三十二章 - 标准库概览

    1. 操作系统接口 os 模块提供很多函数与操作系统进行交互︰ >>> import os >>> os.getcwd() # 返回当前的工作目录 'C:\\Pyt ...

  7. 吴裕雄--天生自然python学习笔记:Python3 标准库概览

    操作系统接口 os模块提供了不少与操作系统相关联的函数. >>> import os >>> os.getcwd() # 返回当前的工作目录 'C:\\Python ...

  8. Python3.2官方文档翻译--标准库概览(一)

    7.1 操作系统接口 Os模块提供主要很多与操作系统交互的函数. >>> import os >>> os.getcwd() # Return the curren ...

  9. Python关于函数作为返回值的理解(3分钟就看完了)

    话不多说,直接看例子,上代码: def line_conf(): def line(x): return 2 * x + 1 return line #return a function object ...

随机推荐

  1. WPF之神奇的资源

    原文:WPF之神奇的资源 WPF中的资源有两种,一种称为"程序集资源"(assembly resource),另一种称为"对象资源"(object resour ...

  2. ITFriend创业败局(三):技术人员创业,需要尽可能避免,或者需要解决的5个重要问题

    一.插科打诨: 本想给小雷粉,做一个创业"成功案例"的,结果做成了一个"反面教材"~ No zuo,no die~ 二.写作目的:分享自己作为一名技术人员,或者 ...

  3. 【BZOJ 1012】 [JSOI2008]最大数maxnumber(单调队列做法)

    [题目链接]:http://www.lydsy.com/JudgeOnline/problem.php?id=1012 [题意] [题解] 后加入的元素,如果比之前的元素大, 那么之前的元素比它小的元 ...

  4. scala 通过apply创建类的对象

    package cn.scala_base.oop.scalaobject; class Boy(name: String) { private var age: Int = 0; println(n ...

  5. 【27.66%】【codeforces 592D】Super M

    time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard o ...

  6. android开发之微信支付功能的实现

    移动开发中,支付类的App越来越多,对于开发者来说也是不可少的,不可不会的:下面就来说一说支付开发的流程 1.申请你的AppID 请到 开发者应用登记页面 进行登记,登记并选择移动应用进行设置后,将该 ...

  7. 卷积神经网络(CNN)的细节问题(滤波器的大小选择)

    0. 滤波器的大小选择 大部分卷积神经网络都会采用逐层递增(1⇒ 3 ⇒ 5 ⇒ 7)的方式. 每经过一次池化层,卷积层过滤器的深度都会乘以 2: 1. 权值共享:减轻过拟合 & 降低计算量 ...

  8. 192M内存的VPS,安装Centos 6 minimal x86,无法安装node.js

    尝试了各种方法,始终安装不了node.偶然一次,安装了64位的Centos 6 minimal,竟然可以安装Node官网给出的命令安装node了,一切顺利.

  9. C# 静态构造函数,静态变量执行顺序(升华版)

    上篇 是基本语法基础下的执行顺序,包括继承这个维度下的执行顺序,我们可以依照的规律顺下来,下面我们看下一些摸不到头脑的情况 我们实验 一个 类中的方法 去调用另一个非继承类的情况,  我们主要看下  ...

  10. 可以左右移动横向无缝滚动的JS图片展示代码

    在酷站网站下的,具体路径忘了,稍微改了一下,让它看起来像组滑动 1)被引用的js文件ScrollPic.js ?){){i+=l.length;)I=document.cookie.length;o= ...