在比赛中,我通常会使用C++中的cin、cout输入输出控制台上的数据,但是默认情况下cin、cout是和scanf、printf同步的(即可以混用cin、scanf和cout、printf),这会使cin、cout需要先把东西存入缓冲区再进行输入输出操作,导致效率低下,这时在main函数开头加入以下语句:
ios::sync_with_stdio(false);
cin.tie(0);
整个形式如下:
#include <bits/stdc++.h>
using namespace std;
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
return 0;
}
前一句语句将“是否兼容stdio”的开关关闭,使之效率与scanf、printf相差无几
注:关闭之后就不能混用cin、cout和scanf、printf,推荐只使用cin、cout
第二句语句解除cin与cout的绑定,因为在默认的情况下cin绑定的是cout,每次执行 << 操作符的时候都要调用flush,这样会增加IO的负担。可以通过tie(0)(0表示NULL)来解除cin与cout的绑定,进一步加快执行效率。
本文地址:https://blog.csdn.net/DGany/article/details/107518243
如对本文有疑问, 点击进行留言回复!!
Codeforces Round #657 (Div. 2) C题
hdu2222 Keywords Search(ac自动机模板-kuangbin)
IOS开发控件视图day08:监听文本框状态设置按钮状态不可点击且变灰
网友评论