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的绑定,进一步加快执行速度