为什么一些人写c++代码,前面会加上std::ios::sync_with_stdio(false); cin.tie(0);这两句话??

这两句话可以干什么?

#include<iostream>
using namespace std;
int main(){
 std::ios::sync_with_stdio(false); 
 cin.tie(0);
 return 0;
}

可以增强cin和cout的效率。

在做acm一些题时,经常出现 数据集超大造成 cin读入过多 超时的情况。
这是因为在c++中cin,cout虽然方便但是效率低。
是因为先把要输出的东西存入缓冲区,再输出,导致效率降低,而这段语句可以来打消iostream的输入和输出缓存,可节省时间,使效率能达到scanf与printf效率。

tie 函数:

tie是将两个stream绑定的函数,空参数的话返回当前的输出流指针。
可以通过tie(0)(0表示NULL)来解除cin与cout的绑定,进一步加快执行效率。

发布了8 篇原创文章 · 获赞 8 · 访问量 202

猜你喜欢

转载自blog.csdn.net/xzy15703841578/article/details/105364717