前因:
c++是兼容c代码的,std :: cin和scanf 或 std :: cout和printf可以在C++代码中同时使用,但为了使输出不发生混乱,C++会用一个流缓冲区来同步C的标准流。所以iostream默认是与stdio关联在一起的,以使两者同步,因此消耗了iostream不少性能。
操作:
只要加上这句代码,就能关闭 同步,不需要经过流缓冲区,从而提升效率,使得std :: cin,scanf 的效率和 std :: cout,printf相差无几。
ios::sync_with_stdio(false);
注意:
加上上面代码后,不要让std :: cin,scanf 和 std :: cout,printf混用,否则会出错。
扩展:如果想具体了解该行代码,请转到:关于ios::sync_with_stdio(false);和 cin.tie(nullptr);