doc/notebook/docs/C++/总.md

39 lines
1.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## 万能头
`#include <bits/stdc++.h>` 这个头文件实际上是一个非标准的头文件,在一些编译器中使用它可以简化包含标准库头文件的操作,但并不推荐在生产环境中使用,因为它不是标准的 C++ 头文件。通常情况下,应该直接包含需要的具体标准库头文件,而不是依赖于这个非标准的头文件。
这个头文件通常包含了 C++ 标准库的所有头文件,但具体的内容可能因编译器和系统环境而异。一般来说,它会包含以下头文件:
```cpp
#include <iostream> // 标准输入输出库
#include <fstream> // 文件输入输出库
#include <string> // 字符串处理库
#include <ctime> // 时间处理库
#include <chrono> // 时间处理库C++11
#include <vector> // 向量容器库
#include <list> // 链表容器库
#include <map> // 映射容器库
#include <set> // 集合容器库
#include <algorithm> // 算法库
#include <random> // 随机数库
#include <iomanip> // 控制输出格式库
#include <sstream> // 字符串流库
#include <stdexcept> // 异常处理库
#include <functional> // 函数库
#include <iterator> // 迭代器库
#include <numeric> // 数值算法库
#include <utility> // 实用工具库
#include <tuple> // 元组库
#include <bitset> // 位集合库
#include <array> // 数组库
#include <deque> // 双端队列库
#include <queue> // 队列库
#include <stack> // 栈库
#include <unordered_map> // 无序映射库
#include <unordered_set> // 无序集合库
```
需要注意的是,不同的编译器和环境可能会有不同的实现,因此不能保证所有编译器都支持这种方式,并且不同编译器可能包含的头文件也会有所不同。因此,建议还是根据需要直接包含具体的标准库头文件。