C++提高输入输出 效率

std::ios::sync_with_stdio(false)

这个代码能取消C++标准streams(cin,cout,cerr...)与相应的C标准程序库文件(stdin,stdout,stderr)的同步,也就是是否使用相同的stream缓冲区。缺省情况是同步的,但由于同步会带来某些不必要的负担,因此该函数作用就是我们自己取消它们的同步。当同步关闭时,不再允许混合的使用C和C++的io(cin,printf不能混合使用),但是iostream可能会更快地运行。


cin.tie(NULL);  
这个代码取消了cin和cout的绑定。默认情况下,cin与cout绑定,这意味着在进行cin输入之前cout被刷新。 关闭它可能导致iostream更快地运行。

cin.tie(NULL);
cout<<"Enter name";
cin>>name;
使用了cin.tie(NULL)后不保证enter name 会被打印出来,可能缓冲区满了或者手动刷新缓冲区enter name 才会被打印出来


还应该注意到,经常使用endl也会对iostreams的性能产生负面影响,因为endl不仅输出换行符,还可以刷新流的缓冲区你可以简单地输出'\ n'或'\ n'而不是endl。


附C、C++输入输出时间测试:点击打开链接

你可能感兴趣的:(C/C++)