码迷,mamicode.com
首页 > 其他好文 > 详细

如何提高cin/cout的速度

时间:2019-07-02 20:55:38      阅读:85      评论:0      收藏:0      [点我收藏+]

标签:int   速度   stream   syn   输出流   printf   不难   一个   log   

如何提高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的速度

标签:int   速度   stream   syn   输出流   printf   不难   一个   log   

原文地址:https://www.cnblogs.com/tieway59/p/11122982.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!