cin,cout如何优化速度
(今天我又来求关注了)
今天我来告诉大家c++中输入输出的速度如何优化
很多学c++的人都喜欢用cin,cout去输入输出
但是相比起scanf,printf
cin,cout因为默认的时候,cin与stdin总是保持同步的
也就是说这两种方法可以混用,而不必担心文件指针混乱
同时cout和stdout也一样,两者混用不会输出顺序错乱。正因为这个兼容性的特性,导致cin有许多额外的开销,所以导致了速度的变慢
如果想要关掉这个同步就需一个语句:
std::ios::sync_with_stdio(false);
这样就可以取消cin于stdin的同步,例如下面这个程序:
#include<bits/stdc++.h>
using namespace std;
int main()
{
std::ios::sync_with_stdio(false);//关掉同步
int n,m;
cin>>n>>m;
int ans=n+m;
cout<<ans;
}
速度和原来相比会快很多,特别是有些参加NOIP的学员
测试的时候经常超时,就是因为这个原因
(其实如果你够勤奋,打printf,scanf会跟好一些)