可能有些大型比赛会禁止使用这个头文件,我个人建议,大家尽量还是熟悉原来的文件比较好哈,要是比赛时实在忘了可以应急使用
最近在打一些比赛,翻阅别人的代码时总是会发现一个陌生而奇怪的头文件#include<bits/stdc++.h>
奇怪之处就在于基本上所有的代码只要用了这个头文件就不再写其他头文件了。
百度过后仿佛打开了新世界的大门,头文件居然还可以这样用!!!
#include<bits/stdc++.h>包含了目前c++所包含的所有头文件!!!!
这打比赛不chuachua的!!
现在再看下面这一堆乱七八糟的头文件显得莫名的冗杂:
复制代码
#include <iostream> #include <cstdio> #include <fstream> #include <algorithm> #include <cmath> #include <deque> #include <vector> #include <queue> #include <string> #include <cstring> #include <map> #include <stack> #include <set> using namespace std; int main(){ return 0; }
再看我们开挂以后:
#include<bits/stdc++.h> using namespace std; int main(){ return 0; }
简洁明了啊是不是 一眼望穿啊是不是 心动了是不是 大脑充血了是不是 幸福昏厥了是不是 再也不用担心CE了是不是!!!
谈一下朋友们担心的兼容性问题,一早起来跑了几个oj亲测兼容性还是蛮强的,看到去年的介绍博客表示hdu不支持不过现在亲测已经支持了,请在hdu肆无忌惮的开挂吧!!
特别注意
当我们忘记某函数包含在那个头文件下时或者头文件包含较多时,可以用这个万能头文件代替。
但是他也有缺点。最明显的问题就是编译时间太长。另外,<bits/stdc.h>不是c++的标准头文件,所以有部分编译器不支持。
这个头文件不是C++标准的一部分,所以是不可移植的,应该尽量避免。
尽管标准中有一些通用的头文件,但还是应该避免使用它来代替特定的头文件,因为编译器在每次编译转换单元时都实际地读取并解析每个包含的头文件(包括递归包含的头文件)。