1 static int wing=[]()
2 {
3     std::ios::sync_with_stdio(false);
4     cin.tie(NULL);
5     return 0;
6 }();

 

C++的cin和cout在输入输出时,会先将内容写入缓冲区,再输入输出,导致时间效率低下。

这是因为默认情况下,为了混用cin/stdin,cout/stdout 时文件指针不出现混乱,cin和stdin保持同步,cout和stdout保持同步

这个导致cin和cout有了很多额外开销。

第2句可以用来取消这种同步,提高时间效率。

默认情况下,cin和cout绑定在一起,每次执行<<操作,都要调用flush函数,这样会增加IO负担,可以用tie(0)来解除cin和cout的绑定,进一步加快执行速度

posted on 2018-04-14 15:43  高数考了59  阅读(636)  评论(0编辑  收藏  举报