• C++ 标准库概览(一分钟就看完了)


    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

  • 相关阅读:
    Go安装
    Redis 安装与使用
    scala总结
    C++学习笔记4
    LeetCode 22.将数组分成和相等的三个部分
    LeetCode 21.二叉树的直径 DFS深度遍历
    LeetCode 20.买卖股票的最佳时机 暴力破解法与动态规划
    LeetCode 19.凑零钱问题 动态规划
    LeetCode 18.队列的最大值
    Java SSM Spring MVC 三层架构和MVC+SpringMVC的入门案例+请求参数的绑定+常用的注解
  • 原文地址:https://www.cnblogs.com/findumars/p/6760029.html
Copyright © 2020-2023  润新知