#配置deovoice C++的输入输出与C的输入输出比较 | blog of coderdz

C++的输入输出与C的输入输出比较

在acm写题时会发现,很多人在读取题目数据的时候都用scanf,输出时用printf.因为C的输入输出效率高得多,程序运行时间会快很多。甚至有些题用cin,cout解题会TLE,换成scanfprintf就过了。看过大神用随机数测试过scanf和cin的效率,最大可能相差十倍。那么为什么备受欢迎的c++会比c的慢很多呢?

c++为了保持c原有的特性,默认情况下cin与stdio保持同步,也就是iostream的缓冲与stdio同步,c++的输入输出能和c的输入输出同时用。正因为这个同步特性,cin与stdin同步进行,cin有了许多额外开销,cout也是如此。但是热衷于用c++输入输出流的就可以用这段代码取消输入输出流的同步特性:

ios_base::sync_with_stdio(false);

谢谢你请我吃苹果!
-------------本文结束感谢您的阅读-------------