Coding Island

编码之岛

【C++】cin、cout的效率比scanf和printf低的解决方法

玩竞赛的同学应该发现了C++中直接调用cout、cin的效率要比printf和scanf的效率要低。

要解决这个问题,只需要在前面加上一句
std::ios::sync_with_stdio(false);
即可。

这是因为cout、cin要先把要输出的东西存入缓冲区,再输出,导致效率降低,而这段语句可以来打消iostream的输入输出缓存,可以节省时间,使效率与scanf与printf差不多。

但是cout、cin使用缓存区一定是有它的道理的,然而这我现在还不知道有啥道理。

 

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注