问题描述:
在使用 C++逐行读取和写出数据时,有两种方法:cin & cout 或者 scanf & printf
当问题规模不大的时候,它们没有太大区别。然而,如果输入和输出过多,可能会影响速度。
这是一位 Stack Overflow上的一位大佬的回答:
可以看出,使用 scanf & printf的组合是会更快的。他同时也提到:cin cout更慢的原因是因为有一些 synchronization需要做,等价于多做了蛮多无用功。
尽管研究数据的输入输出有点歪门邪道的意思(正统的人或许会教导你要改进算法,优化写法啥的blabla),但是不可否认,当其他条件相同的时候,读写速度或许也会成为你程序中的一个瓶颈。因此,注意这一点,应该还是会在处理庞大输入输出的时候有意想不到的助力。
Take Home Advice:
C++使用输入输出时,
- 使用 scanf & printf
或者 - 使用 cin & cout, 但是需要用