Skip to content

常见标准库

1. 容器类型

  • <vector>
  • <deque>
  • <forward_list>
  • <list>
  • <map>
  • <set>
  • <unordered_map>
  • <unordered_set>
  • <queue>
  • <stack>
  • <array>
  • <bitset>

<map> 等也包含 multi* 的模板,priority_queue 被包含在 <queue> 中。

2. 算法

  • <cstdlib>bsearch()qsort()
  • <algorithm> 泛型算法
  • <regex> 正则表达式

3. 流

  • <iostream> 标准 I/O 流
  • <iomanip> 操纵符
  • <sstream> 字符串流
  • <fstream> 文件流
  • <cstdio> C 标准库 I/O

4. 数学、语言支持

  • <cstdlib> C 标准库
  • <ctime> C 时间
  • <cmath> C 数学函数
  • <random> 随机数发生器

5. 并发

  • <future> 异步等待
  • <thread> 线程

6. 异常

除非组件确认不会抛出异常,否则在一些位置(如 main())捕获并处理某一个层次的异常根类(如 exception)是一个好习惯。

c++
int main() {
    try {
        // ...
    }
    catch (MyError& me) {
        // me.what(), me. ...
    }
    catch (runtime_error& re) {
        // re.what()
    }
    catch (exception& e) {
        // e.what()
    }
    catch (...) {
        // 局部清理
    }
}