常见标准库
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 (...) {
// 局部清理
}
}