ios_base::sync_with_stdio() 的具体用法

http://bbs.csdn.net/topics/280019504

http://tieba.baidu.com/p/2643059585

决定C++标准streams(cin,cout,cerr...)是否与相应的C标准程序库文件(stdin,stdout,stderr)同步,也就是是否使用相同的stream缓冲区,缺省情况是同步的,但由于同步会带来某些不必要的负担,因此该函数作用就是我们自己可以取消同步   

  std::ios::sync_with_stdio(false);   
  注意:必须在任何io操作之前取消同步   

  函数返回前一次被调用的参数值,如果未被调用过,返回true,反映标准stream的默认的值

cin,cout速度慢,是因为先把要输出的东西存入缓冲区,再输出,导致效率降低,而这段ios_base::sync_with_stdio(false)可以来打消iostream的输入输出缓存,可以节省许多时间,使效率与scanf与printf相差无几

你可能感兴趣的:(C++)