C++中cin,cout是否效率不如scanf,printf

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++中cin,cout是否效率不如scanf,printf相关的知识,希望对你有一定的参考价值。

RT

十分正确,如果你是做io比赛的或者是做acm的,尽量不要用cin,cout,你试试打印99999999就知道,它们之间速度大概相差10几倍 参考技术A cin 和 cout 是被封装的一大类,在不同情况下,会被重载成不同的过程。

另外,效率问题也取决于操作平台,编译器的好坏,优化选项的设置。这根本无法比较。
参考技术B 恩我们一般用#include<iostream>中cin,cout比流快但是没有scanf,printf快,建议用scanf,printf快些这就和s*2没有s>>2快是一样的道理~~! 参考技术C 有什么意义么,再快也 要等你按下回车,在你按回车的时间内,计算机能完成多少计算量?

加速C++ cin,cout的速度

用以下两行代码:

    ios::sync_with_stdio(false);   //加速
    cin.tie(0);
  1. 首先sync_with_stdio(false)是为了打断iostream输入输出到缓存,可以节约很多时间,使之与scanf相差无几。
  2. tie是将两个stream绑定的函数,空参数的话返回当前的输出指针,即tie(0)与tie(nullptr)来解决cin与cout的绑定。

 

以上是关于C++中cin,cout是否效率不如scanf,printf的主要内容,如果未能解决你的问题,请参考以下文章

(acm)C++加速输入的几种方法

c++算法学习笔记1 语法

sync_with_stdio和cin.tie; cout.tie;

c++中scanf和cout有啥区别

加快cin的读入速度

在c++中cin,cout都叫啥? 主函数吗?