C++万能头文件的内容与优缺点
文件内容
最近发现了一个C++的头文件bits/stdc++.h,听说这是一个几乎包含了所有C++库函数的头文件,就想更深入的了解一下,下面是头文件内容
1 | // C++ includes used for precompiling -*- C++ -*- |
看了别人对于这个头文件的看法,自己也有了更深的认识,包含大量不需要的库的头文件,更适合在oj比赛中使用。如果在软件工程的开发中,我们应该减少包含,控制编译时间和代码大小。
优点
在竞赛中节约时间
减少了编写所有必要头文件的工作量
对于使用的每个函数,不用记住GNU C++的所有STL
缺点:
不属于GNU C++库的标准头文件,在部分情况下可能会失败
使用它将包含许多不必要的东西,并增加编译时间
这个头文件不是C++标准的一部分,因此是不可移植的,应该避免
编译器每次编译翻译单元时都必须实际读取和分析每个包含的头文件,应该减少这类头文件的使用