在看题解时,经常看到#include<bits/stdc++.h>,究竟是什么意思呢
仔细查阅,发现<bits/stdc++.h>为万能头文件。
优点:
1、节约时间
2、减少编写所有必要头文件的工作量
3、对于使用的每个函数,不用记住GNU C++的所有STL
缺点:
1、不属于GNU C++库的标准头文件,在部分情况下可能会失败
2、使用它将包含许多不必要的东西,并增加编译时间
3、这个头文件不是C++标准的一部分,是不可移植的,应该避免
4、编译器每次编译翻译单元时,都必须实际读取和分析每个包含的
头文件,应减少这类头文件的使用
#include 是 C 和 C++ 语言中的预处理指令,用于告诉编译器在编译时将某个头文件(header file)的内容包含到当前源代码文件中。这样可以在当前源代码文件中使用头文件中定义的函数、变量、宏等。
<bits/stdc++.h>它是一个特殊的头文件,包含了大部分标准 C和C++ 库的头文件,可以方便地一次性引入多个库,简化代码编写过程。对于C++而言,在这个头文件中,通常包含的标准库包括:
<iostream>:用于输入输出操作。
<vector>:提供动态数组(向量)的实现。
<string>:处理字符串操作。
<algorithm>:包含各种算法,如排序、搜索等。
<cmath>:包含数学函数,如数值计算、三角函数等。
<queue>:实现队列(先进先出)数据结构。
<stack>:实现栈(后进先出)数据结构。
<map>:实现键值对存储的数据结构。
<cstdio>
<fstream>
<deque>
<set>
......