有时候发现oj时完全没错的代码死活过不了,超时超时搞得我头炸掉,而且我敢保证代码逻辑等的都是没有问题的,就是超时。当时只想骂人,后来发现这是我在知识上的缺失。

scanf是用指针操作的,没有类型安全机制。比如一个char类型数据你就可以用%f获得输入,而不会报错,但在运行时会出现异常。
cin是自动判断你的变量类型,比如一个char数据只能用默认的char方法取数据。

标准流对象cin/cout为了普适性,继承体系很复杂,所以在对象的构造等方面会影响效率,因此总体效率比较低。
cin有许多额外的开销,可以用std::ios::sync_with_stdio(false)或ios::sync_with_stdio(false);cin.tie(0);,这样就可以取消cin于stdin的同步了。

不怎么去优化时,c++编译器产生的代码一般要比c编译器产生的差。
而且用c++和c编译器链接进去的头文件也不相同,这些都要影响效率。
另外,C中只能用scanf,在C++中两者都能用。

为什么一定情况下scanf比cin快相关推荐

  1. 你的企业在什么情况下需要人工智能?快来看看你需要具备哪些条件与能力吧!...

    作者 | Anzhela Sychyk 译者 | 风车云马 责编 | 徐威龙 出品 | AI科技大本营(ID:rgznai100) 如今有关人工智能的炒作多得令人眼花缭乱.各个行业都极力采用这种技术, ...

  2. 在什么情况下Java比C++快?

    回复者:Cameron Purdy,Oracle中间件高级工程师. 这是根据我同时使用C++和Java工作超过20年所学到的,其实使用Java比C++还要早几年: 1.根据我的经验,当你把优化过的C+ ...

  3. Reactjs相比较原生方案是绝对的快吗?哪些情况下React有优势

    作者:尤雨溪 链接:http://www.zhihu.com/question/31809713/answer/53544875 来源:知乎 著作权归作者所有,转载请联系作者获得授权. 1. 原生 D ...

  4. BM算法的shift1表是在所有情况下移动都是最快的吗?

     Shift1表并不是所有的情况下都是移动最快的,比如如下的文本字符串和搜索字符串,当比 较到上图所示位置的时候发现I和A不匹配,按照shift1的方式,应该移动3位,如下图所示, 但是移动3位并 ...

  5. 同等情况下计算机执行什么速度最快,显存速度是什么 内存和显存哪个更能影响电脑运行速度...

    显存,其实就是显卡内存.在计算机电脑中,显存的作用可以说是和硬盘同样重要的,显卡主要就是对一些数据进行渲染,而显存越大,对笔记本数据的渲染也就越好.特别是一些图形的处理.如今的笔记本已经不想是以前集成 ...

  6. 协程为什么比多线程快?在什么情况下更快?

    协程在什么情况下更快? 据我所知,是在多线程IO时. 协程是单线程异步,但是为什么在多线程IO时协程更快? IO的操作对象(一个文件.一个变量.一块内存空间)可能只能处理一个线程的需求,但是有多个线程 ...

  7. java流处理为什么快_“任何情况下,都不可以堕胎”是道德普遍主义的观点。

    [判断题]两个可能性之间可以彼此独立. [多选题]全球化正改变着我们的工作方式和生活方式,原因是我们首先必须处理( )和( )这两个问题. [判断题]"只许州官放火"体现了双重标准 ...

  8. 关于scanf和cin的大数据读入效率

    关于scanf和cin的大数据读入效率 好多大佬都说scanf的读入效率比cin高,我也当练手,用书上的程序用了个测试,程序如下: #include<iostream> #include& ...

  9. 博士生在没有导师指导的情况下,该如何自己选题发 CVPR ?

    来源丨知乎 编辑丨极市平台 本文仅作为学术分享,侵删 导读 本文就"博士生没有导师指导,如何自己发CVPR?" 一问题撷英掇华,精选了高赞回答希望对大家有所助益. 知乎原址:htt ...

最新文章

  1. 数据库系统(三)——数据库安全性控制
  2. katalon中REST URL占位参数动态化
  3. python遍历文件_python遍历目录文件脚本的示例
  4. 【计算机组成原理】定点除法运算
  5. SEO【总结】by 2019年5月
  6. iOS中frame和Bounds之间的区别
  7. SIP应答代码【ZT】
  8. anaconda显示ImportError: cannot import name ‘secure_write‘
  9. ctf web必备工具_设计人员和开发人员的必备Web工具和服务
  10. ASP.NET中缓存(cache)的控制方法
  11. 会声会影如何使用覆叠滤镜
  12. flask架设微信小程序服务器,苹果手机能正常访问,安卓不行(ssl的中间证书问题)
  13. 【Lintcode】507. Wiggle Sort II
  14. 鸿蒙系统hdc,HDC2020有看头:要揭开鸿蒙系统和EMUI11神秘面纱?
  15. Ubuntu 如何安装 微信?实测
  16. 《密码法》之商用密码应用安全性评估----六问
  17. 【Linux共享内存】
  18. allgro pcb铜皮编辑_关于修割铜皮 - Cadence allegro PCB 教程
  19. matlab电力电子仿真研究背景,MATLAB的电力电子技术仿真文献综述
  20. 【Android】Android界面设计

热门文章

  1. 6.MySQL图形化工具的使用
  2. 剑指offer-栈的压入、弹出序列
  3. 前端学习---html基础知识
  4. 【Java学习笔记】字符串和Date的转换
  5. JavaScript权威指南--客户端存储
  6. C# Linq to SQL — Group by
  7. Java POI 导出EXCEL经典实现 Java导出Excel
  8. Spring MVC 入门
  9. variable与get_variable
  10. Python列表排序 reverse、sort、sorted 操作方法详解