C++ cin速度优化详解

 更新时间:2020年12月09日 14:27:27   作者:qq_44761480  
这篇文章主要介绍了C++ cin速度优化详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

如下所示:

std::ios::sync_with_stdio(false);

很多C++的初学者可能会被这个问题困扰,经常出现程序无故超时,最终发现问题处在cin和cout上,(甚至有些老oier也会被这个问题困扰,每次只能打scanf和printf,然后一堆的占位符巨麻烦),这是因为C++中,cin和cout要与stdio同步,中间会有一个缓冲,所以导致cin,cout语句输入输出缓慢,这时就可以用这个语句,取消cin,cout与stdio的同步,说白了就是提速,效率基本与scanf和printf一致。

然后就可放心的使用cin,cout了。

其实using namespace std;之后就可以:

ios::sync_with_stdio(false);

使用注意

取消流同步以后,stdio中带有的scanf()和printf()输入输出的内部同步也会被取消(大概是这样的,如果有误请联系博主更正),这时候再用scanf()和printf()就可能会出玄学错误,所以用的时候也要注意。最好此时不要与scanf()混用

另外,如果使用文件输入输出的话,一定记住要把这条语句放在freopen()后面,反正也会出西西,但是具体问题博主也不太清楚。。。

补充知识:解决c++ cin,cout 输入输出效率低导致运行结果超时的问题

在做pat的时候,遇到超时问题,首先考虑算法问题,当算法没问题的时候,就要考虑输入输出问题,cin和cout的效率比较低,有两种解决方法。

1.把cin和cout改为scanf和printf

2.不改动cin和cout,在代码中加入代码段:

ios::sync_with_stdio(false);

这个代码段可以大大提高cin和cout的效率问题。

以上这篇C++ cin速度优化详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • OpenGL画bezier曲线

    OpenGL画bezier曲线

    这篇文章主要为大家详细介绍了OpenGL画bezier曲线,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-04-04
  • C语言泛型编程实例教程

    C语言泛型编程实例教程

    这篇文章主要介绍了C语言泛型编程,针对泛型的用法做了深入浅出的实例介绍,是C程序设计中非常实用的技巧,需要的朋友可以参考下
    2014-09-09
  • C++ 数据结构实现两个栈实现一个队列

    C++ 数据结构实现两个栈实现一个队列

    这篇文章主要介绍了详解C++ 数据结构实现两个栈实现一个队列的相关资料,需要的朋友可以参考下
    2017-03-03
  • c++读写文件流实例程序讲解

    c++读写文件流实例程序讲解

    这篇文章主要介绍了c++读写文件流实例,大家参考使用吧
    2013-12-12
  • C++实现推箱子小项目

    C++实现推箱子小项目

    这篇文章主要为大家详细介绍了C++实现推箱子小项目,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • C语言单链队列的表示与实现实例详解

    C语言单链队列的表示与实现实例详解

    这篇文章主要介绍了C语言单链队列的表示与实现,对于研究数据结构与算法的朋友来说很有参考借鉴价值,需要的朋友可以参考下
    2014-07-07
  • C++ const和指针详情

    C++ const和指针详情

    这篇文章主要介绍了C++ const和指针,关于使用const来修饰指针,有两种不同的方式。第一种是让指针指向一个常量对象,这样可以防止使用该指针进行修改指向的值。第二种则是将指针本身声明为常量,可以防止改变指针指向的位置,下面来看看文章的详细内容
    2021-11-11
  • C++中stringstream的用法和实例

    C++中stringstream的用法和实例

    下面小编就为大家带来一篇C++中stringstream的用法和实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • C 语言基础之C语言的常见关键字

    C 语言基础之C语言的常见关键字

    C语言中有一些预先定义的字符串,他们本身被赋予了自身的功能。并且我们在定义变量的时候,不能去抢他们的名字来用。他们就是今天的主角:关键字,下面文章将给大家做详细介绍
    2021-09-09
  • C语言实现选择排序、直接插入排序、冒泡排序的示例

    C语言实现选择排序、直接插入排序、冒泡排序的示例

    这篇文章主要介绍了C++实现选择排序、直接插入排序、冒泡排序的代码示例,相当简洁直观,也是算法和数据结构学习中的基础,需要的朋友可以参考下
    2016-02-02

最新评论