C++中的ios::sync_with_stdio(false)关闭缓冲同步

scorlw 发布于

C++中的ios::sync_with_stdio(false)关闭缓冲同步

c++

在C++涉及到大量输入输出时,为了加快速度,我们可以在main函数里面第一行加一句ios::sync_with_stdio(false);

这句话的意思是关闭缓冲区的同步,默认是开启的。

如果是开启的,那么cin cout 和scanf printf可以随意混写,即cpp里面写c语言。

如果是关闭的,cin cout 和scanf printf就不能混写,不然会造成输入输出的顺序错乱。

一般是因为嫌cin cout比较慢才加一句ios::sync_with_stdio(false); 这个时候就不要用scanf printf,只用cin cout

cin cout之所以慢是因为大部分时间在做缓冲区的同步,关闭了之后就很快,基本和scanf printf差不多,甚至有时候更快(个人感觉)

原文地址:https://blog.csdn.net/nameofcsdn/article/details/103724509