cin与scanf变得almost一样快的方法

通过添加`ios::sync_with_stdio(false)`和`cin.tie(0)`,可以显著提高C++中cin的输入输出效率,使其接近于scanf。这种方法在处理大量数据输入输出时很有用,但仍可能在严格时限的竞赛编程题目中不足。对于最高效率,建议使用scanf。了解更多关于C/C++输入输出缓冲区的知识,可以帮助优化代码性能。

在main函数里加入一句代码

ios::sync_with_stdio(false);
cin、cout效率低的原因是因为先把要输出的东西放入缓冲区,再输出,才导致效率降低,而这段代码可以来打消iostream的输入、输出缓存,可以节省许多时间,使效率接进scanf和printf的输入输出效率。

原文:cin与scanf变得一样快的方法

查了些博客,发现加上这句代码虽然能让cin变得和scanf差不多快,也能够过很多需要大量数据输入输出的题目,但在有些卡得严的题目面前还是显得吃力,所以为了效率最好还是选择scanf吧😂

参考博客关于C/C++ stdin缓冲区以及对字符输入的一些经验和心得

补充:可以在代码的基础上加上cin.tie(0); 更为优化
即:
cin.tie(0);
ios::sync_with_stdio(false);

评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值