有两种写死循环的方式,即:for(; ;)和while(1),但是这两种哪个效率高呢?其实也说不准,今天我来和大家简单说一下吧!

首先要说明的是两者之间的效率高低最重要的还是取决于编译器是否有优化!

  • 当编译器对程序不做优化时,两者的效率高低都差不多,编写时看个人喜好和习惯吧!

  • 当编译器对程序有优化时,for(; ;)效率更高一点,有如下几个原因:

(1)两个“;”都是空语句,因此编译器对齐进行了优化,直接进入循环体,而while(1)相当于是一个表达式,每循环一次,程序都需要判断一次要进入的常量是否等于0,因此相对来说for循环的死循环就比较高效一些;
(2)for(; ; )相当于是7个字符,而while(1)是8个字符,因此for的死循环高效一些。

浅谈:C/C++中for( ; ; )和while(1)的区别相关推荐

  1. mysql declare与set的区别_浅谈MySQL存储过程中declare和set定义变量的区别

    在存储过程中常看到declare定义的变量和@set定义的变量.简单的来说,declare定义的类似是局部变量,@set定义的类似全局变量. 1.declare定义的变量类似java类中的局部变量,仅 ...

  2. 浅谈单片机程序设计中的“分层思想”!

    浅谈单片机程序设计中的"分层思想",并不是什么神秘的东西,事实上很多做项目的工程师本身自己也会在用.看了不少帖子都发现没有提及这个东西,然而分层结构确是很有用的东西,参透后会有一种 ...

  3. 浅谈网络爬虫中广度优先算法和代码实现

    前几天给大家分享了网络爬虫中深度优先算法的介绍及其代码实现过程,没来得及上车的小伙伴们可以戳这篇文章--浅谈网络爬虫中深度优先算法和简单代码实现.今天小编给大家分享网络爬虫中广度优先算法的介绍及其代码 ...

  4. 浅谈软件性能测试中关键指标的监控与分析(转)

    浅谈软件性能测试中关键指标的监控与分析 一.软件性能测试需要监控哪些关键指标? 软件性能测试的目的主要有以下三点: Ø  评价系统当前性能,判断系统是否满足预期的性能需求. Ø  寻找软件系统可能存在 ...

  5. php hasmany,浅谈laravel orm 中的一对多关系 hasMany

    个人对于laravel orm 中对于一对多关系的理解 文章表 article,文章自然可以评论,表 comment 记录文章的评论,文章和评论的关系就是一对多,一篇文章可以有多个评论. 在 comm ...

  6. mysql key_len_浅谈mysql explain中key_len的计算方法

    mysql的explain命令可以分析sql的性能,其中有一项是key_len(索引的长度)的统计.本文将分析mysql explain中key_len的计算方法. 1.创建测试表及数据 CREATE ...

  7. 事物日志恢复 mysql_浅谈SQL Server中的事务日志(五)----日志在高可用和灾难恢复中的作用...

    本篇文章是系列文章中的第五篇,是对前一个日志系列的补充篇.如果您对日志的基本概念还没有一个比较系统的了解,可以参看本系列之前的文章: 浅谈SQL Server中的事务日志(一)----事务日志的物理和 ...

  8. 浅谈V8引擎中的垃圾回收机制

    浅谈V8引擎中的垃圾回收机制 这篇文章的所有内容均来自 朴灵的<深入浅出Node.js>及A tour of V8:Garbage Collection,后者还有中文翻译版V8 之旅: 垃 ...

  9. 计算机审计的概念的论文,论文:浅谈计算机审计中的数据分析

    浅谈计算机审计中的数据分析 [摘要]数据分析在计算机审计中占有重要地位.审计人员通过数据分析,可以更好地实现收集证据.把握总体.突出重点.精确延伸等目标.数据分析从类型上可以分为查询型.验证型和挖掘型 ...

  10. c程序语言的常量变量和标识符,浅谈C语言中的常量与变量.pdf

    课程教育研究 CourseEducationResearch 2014年4月 上旬刊 教学.信息 浅谈C语言中的常量与变量 刘 星 (青 岛工学院商学院 山东 青岛 266300) [摘要]在任何一种 ...

最新文章

  1. 预告|开源操作系统年度技术会议
  2. RHEL 5基础篇—了解系统的引导过程
  3. 顺序队列的表示和实现
  4. python语言编写的modbus协议_RTU Modbus从机的python脚本
  5. 数据结构之图:加权有向图与dijkstra算法找到最短路径,Python——28
  6. java try的用法_Java中try、catch的使用方法
  7. Spark的分布式存储系统BlockManager全解析
  8. Mac解压Linux压缩.tar.gz文件
  9. 福建省12.5米DEM数字高程数据
  10. vscode 搭建C语言开发环境
  11. ubuntu安装anjuta
  12. C04-算法达人修炼营学习安排及方法指导
  13. CSS样式网页导航条
  14. 精致生活品味相伴,Barsetto百胜图BAC025B胶囊咖啡机测评
  15. cpci无法检索_图书馆无法进行CPCI-S检索 - 北京大学图书馆(PKULibrary)版 - 北大未名BBS...
  16. 地统计插值学习心得(三)ArcGIS Pro与ArcMap软件中地统计分析的区别
  17. DFT与DTFT区别
  18. asp.net毕业生信息管理系统VS开发sqlserver数据库web结构c#编程计算机网页源码项目
  19. 要想城府深还看不出来,牢记3个说话“潜规则”,莫要嘴欠吃亏
  20. Linux文件查找find

热门文章

  1. 终于来了:360 N5发布安卓7.0测试版升级包下载
  2. 网传21个最“坑”调剂院校,考研er慎重选择!
  3. C语言·输入身份证号码,给出年月日。
  4. 远赴人间惊鸿宴,云台山风景区上见初雪
  5. thinkph6 怎么使用 workerman 快速上手
  6. 为什么我们要一直深入底层
  7. 推荐一款注册表清理软件(含注册码)
  8. 倩女幽魂降魔传奇java上的_新倩女幽魂京城妖奇谈任务流程攻略
  9. python实现QQ聊天自动化
  10. python抢票软件代码_Python 写一个抢票软件