码迷,mamicode.com
首页 > 编程语言 > 详细

c++输入输出流加速器

时间:2018-10-03 00:33:31      阅读:189      评论:0      收藏:0      [点我收藏+]

标签:提高效率   pre   lambda   []   out   缓冲   return   输出流   因此   

??发现同样是cin,cout,其他大佬(orz)的耗时短很多。看了他们的代码,我发现他们加了一个很神奇的匿名函数(Lambda捕获)提高了cin,cout效率,因此去百度了解了一下。以下是大佬所使用的“c++输入输出流加速器”

static auto _=[]()
{
    ios::sync_with_stdio(false);
    cin.tie(0);
    return 0;
}();

代码简析:

??cin,cout效率低是因为他们要将输入输出的数据先存入缓冲区后,才进行输入输出。本代码的作用就是去除掉iostream的输入输出缓存的步骤,提高效率。

  • ios::sync_with_stdio(false);去除掉iostream的输入输出缓存的步骤
  • tie(0)来解除std::cin和std::cout之间的绑定,提高效率。

c++输入输出流加速器

标签:提高效率   pre   lambda   []   out   缓冲   return   输出流   因此   

原文地址:https://www.cnblogs.com/chennel/p/9738075.html

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