如何提高cin/cout的速度

Posted tieway59

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何提高cin/cout的速度相关的知识,希望对你有一定的参考价值。

如何提高cin/cout的速度

写在前面

在无数的算法比赛中,不难看到下面这样的东西:

    ios::sync_with_stdio(false);

甚至是这样的东西:

    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    cout.tie(nullptr);

现在,尽量用"\\n"替换可以替换的endl 。(考虑流输出)

好了,以上就是我目前知道的技巧。

为什么

【ref】 sync_with_stdio(), tie()的应用

sync_with_stdio()

? 这个函数是一个“是否兼容stdio”的开关,C++为了兼容C,保证程序在使用了std::printf和std::cout的时候不发生混乱,将输出流绑在了一起。

? 在IO之前将stdio接触绑定,可以大大提高IO效率。在操作大数据时,cin,cout的速率也能很快了。

tie()

tie()用来绑定stream,空参数则返回当前的输出流指针。

【ref】Significance of ios_base::sync_with_stdio(false); cin.tie(NULL);

【ref】C++中endl和\\n的区别

  • 在考虑效率且没有必要刷新输出流时使用cout << . . . << "\\n";
  • 在一些大程序需要刷新输出流时使用cout << . . . << endl;

以上是关于如何提高cin/cout的速度的主要内容,如果未能解决你的问题,请参考以下文章

加速C++ cin,cout的速度

如何提高MATLAB的运算速度

如何提高MATLAB的运算速度

怎样提高android启动速度

如何提高UBOOT的启动速度

如何提高电脑运行的速度啊?请高手赐招!