1.头文件#include<bits/stdc++.h>
1.1用处
#include<bits/stdc++.h>
我们在写代码的时候,会用上许多的默认头文件,例如
#include <iostream>
#include <stdio.h>
#include <assert.h>
#include <sting.h>
#include <stdlib.h>
.......
但是比赛中我们要么是不记得,要么记得也很容易遗漏一些,导致时间上的浪费等等问题,此时我们使用一个万能头文件
#include<bits/stdc++.h>
就可以快捷包含这些所有了。
1.2局限性
我们在工作中写大项目时轻易不可用这一头文件,它相当于把全部的头文件内容内容全部展开,给编译器造成巨大负担
2.程序开头加ios_base::sync_with_stdio(false)
2.1用处
我们平时使用cout于cin进行输入输出是比printf和scanf要方便许多的,但是cout和cin的效率相对较低,只要加了这一行代码,我们就可以让cin和cout的效率大大提高,但是注意不能再用scanf和printf了。
2.2它的本质
他是std命名空间下创建的类类型ios_base中的一个成员函数,其存在意义是为了使cin,cout,scanf,printf联合使用时总输入输出效果不混乱。
它的参数列表有一个bool类型对象,默认为true,要知道cin和scanf以及cout和printf分处于不同的缓冲区,而程序正是与缓冲区直接交互实现输入输出,该参数为true可使缓冲区重叠的时候自动排序。
3.程序开头加cin.tie(nullptr)和cout.tie(nullptr)
3.1用处
如果说第2点可以大幅提高cin和cout的效率但有缺点,那加上这两个就是能提高效率且无缺点(当然,最好3句都加上)。
3.2为什么加他们
在istream与ostream类类型对应的变量cin和cout中,有一个tie函数,它的参数列表是一个地址类型
用来维系cin与cout中的某种绑定关系(展开讲太多,有兴趣请另行查阅),向tie函数中传入0或者nullptr之后,可以取消此种绑定关系
4.初始代码效果
#include<bits/stdc++.h>
using namespace std;
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
int main()
{
//代码
return 0;
}