Advertisement

C++的IO效率低可以通过cin.tie和sync_with_stdio来加速输入输出

阅读量:

我是怎么在不知道这一对函数的情况下活到今天的

记得以前碰到使用std::cin出现超时问题的时候(即TLE),总是粗心导致不得不将代码改为使用std::scanf来替代处理输入输出操作(即TIOI)的过程中,默认认为C++在IO方面的效率确实较低(即存在性能劣势),以至于一度深信不疑这种说法。然而事实并非如此——这仅仅是由于C++设计上为了兼容与C语言的结合而采取的一种较为保守的方式(即权宜之计)。

tie

tie是将两个stream绑定的函数,空参数的话返回当前的输出流指针。

复制代码
 #include <iostream>

    
 #include <fstream>
    
  
    
 ///SubMain//
    
 int main(int argc, char *argv[])
    
 {
    
 	std::ostream *prevstr;
    
 	std::ofstream ofs;
    
 	ofs.open("test.txt");
    
  
    
 	std::cout << "tie example:\n";	// 直接输出到屏幕
    
  
    
 	*std::cin.tie() << "Th

全部评论 (0)

还没有任何评论哟~