当前位置: 移动技术网 > 移动技术>移动开发>IOS > 竞赛之路-提高cin和cout的效率

竞赛之路-提高cin和cout的效率

2020年07月24日  | 移动技术网移动技术  | 我要评论

在比赛中,我通常会使用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

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网