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

Ianthe ·
更新时间:2024-09-20
· 920 次阅读

这两句话可以干什么? #include 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的绑定,进一步加快执行效率。


作者:Nirvana Soar



cin c+ FALSE with sync C++ IOS

需要 登录 后方可回复, 如果你还没有账号请 注册新账号