本地文件输入输出为什么用了这两行代码后 cin,cout 比 scanf,printf 甚至快写快读还要快?
ios::sync_with_stdio(0);
cin.tie(0),cout.tie(0);
我的测试程序:
#include<cstdio>
#include<iostream>
using namespace std;
template<class T>inline void read(T&x){
x=0;
bool f=1;
char ch=getchar();
while(ch<48||ch>57)
f^=(ch=='-'),ch=getchar();
while(ch>=48&&ch<=57)
x=(x<<1)+(x<<3)+(ch^48),ch=getchar();
if(!f) x=~x+1;
}
template<class T>inline void write(T x){
if(x>9)
write(x/10);
putchar(x%10+48);
}
int main(){
ios::sync_with_stdio(0);
cin.tie(0),cout.tie(0);
freopen("in.txt","r",stdin);
freopen("out.txt","w",stdout);
for(int i=1,x;i<=10000000;i++)
//scanf("%d",&x),printf("%d\n",x);
//cin>>x,cout<<x<<'\n';
read(x),write(x),putchar('\n');
return 0;
}