废话不说,直接引入正题~
++i会将i的值自增1,然后将i的值返回。
i = 1;
j = ++i;
(i 等于 2, j 等于 2)
i++会将i的值自增1,但是将自增之前的值返回
i = 1;
j = i++;
(i 等于 2, j 等于 1)
对于一个for循环来说
for(...;...;i++){}
for(...;...;++i){}
通常来说,更加倾向于使用++i,因为在K&R中使用++i (注:K&R指The C Programming Language一书,该书中代码风格简练,被极大的推崇)
----------------------------------------------------------------------
关于++i和i++的效率问题,一直是人们讨论的话题。
实际上,i++和++i在c语言里面效率是一样的,这里引用一个Example
extern void g(int i);
void f()
{
int i;
for (i = 0; i < 100; i++)
g(i);
}
extern void g(int i);
void f()
{
int i;
for (i = 0; i < 100; ++i)
g(i);
}
经过编译后
$ md5 i++.s ++i.s
MD5 (i++.s) = 90f620dda862cd0205cd5db1f2c8c06e
MD5 (++i.s) = 90f620dda862cd0205cd5db1f2c8c06e
$ md5 *.o
MD5 (++i.o) = dd3ef1408d3a9e4287facccec53f7d22
MD5 (i++.o) = dd3ef1408d3a9e4287facccec53f7d22
而在C++里面,++i的效率则要比i++更高,这是因为,在C++里面的operator++()是一个函数,编译器并不知道i++临时保存下来的可以被优化。
总而言之的话,我个人推荐在无必要的情况下,采用++i代替i++
分享到:
相关推荐
基于51单片机16x16点阵广告牌设计(含仿真+源码+论文+原理图) 基于51单片机16x16点阵广告牌设计(含仿真+源码+论文+原理图) 基于51单片机16x16点阵广告牌设计(含仿真+源码+论文+原理图) 基于51单片机16x16点阵广告牌...
可能包括不同级别的用户(如管理员和普通用户)对数据的不同访问权限。 以上就是《i学生信息管理系统(VB6.0+Access)》所涵盖的主要IT知识点,它为我们提供了一个实践性的平台,帮助初学者了解和掌握数据库应用开发...
在人事管理系统中,Access用于存储和管理大量的员工信息,如姓名、职位、工资、考勤记录等,通过建立合理的数据表结构和关系,确保数据的一致性和完整性。 系统设计阶段,开发者需要明确系统的目标和功能,如员工...
答辩PPT则集中展示了项目的关键点,方便在答辩过程中清晰地阐述项目的核心价值和创新之处。 源代码是项目的实际实现,它包括了服务器端的JSP文件、数据库连接代码、业务逻辑处理等。通过阅读和分析源代码,学习者...
摘 要 I ABSTRACT II 目 录 II 第1章 绪论 1 1.1背景及意义 1 1.2 国内外研究概况 1 1.3 研究的内容 1 第2章 相关技术 3 2.1 B/S架构 4 2.2 Java技术介绍 6 2.3 mysql数据库介绍 6 2.4 springboot框架 4 第3章 系统...
### (I+Cα)预条件Gauss-Seidel迭代法的收敛结果 在数学与计算机科学领域,特别是线性代数和数值分析中,迭代法是一种常见的解决线性方程组Ax = b的方法,其中A是系数矩阵,x是未知向量,b是常数向量。当A是一个...
总结来说,TII 咨询提出的互联网+世界观、价值观和产品方法论,为企业和个人提供了一套适应不确定性的战略框架,强调了速度、敏捷性、灵活性和创新,以应对快速变化的互联网环境。在这样的指导下,企业和个人能够更...
《JSP学生学籍管理系统》是一套基于Java技术的教育信息化解决方案,主要目的是为了方便学校进行学生信息的管理和查询。该系统集成了多种关键功能,包括学生基本信息管理、成绩管理、课程管理等,旨在提高教育机构的...
在本文中,作者赵景余、张玉新等人提出了一个新的预条件(I+S1),并详细分析了这种方法在迭代算法中的收敛性和效果。文章首先回顾了线性代数中的Gauss-Seidel方法,并提出了用新预条件器(I+S1)取代之前常见的预条件...
jspm房屋中介服务平台的设计与实现演示录像2023_i174z(论文+源码+视频)_kaic.mp4
该压缩包文件“JSP+SQL房屋租赁管理信息系统JDBC(源代码+论文+答辩PPT).zip”是一个包含完整项目资源的集合,主要用于教学、学习或参考一个基于JSP技术、SQL数据库和JDBC连接的房屋租赁管理信息系统。这个系统可能由...
这需要理解并应用I/O端口、中断系统、定时器/计数器等单片机特性。 6. **文档撰写**:除了实际操作,良好的书面表达也至关重要。开题报告、中期检查报告和最终论文都需要清晰、准确地表述设计思路、方法和结果,...
离散数学作为计算机科学的基础,对于理解和设计算法、构建数据结构以及进行形式验证至关重要。本系统"JAVA+SQL离散数学题库管理系统"是基于Java编程语言和SQL数据库技术实现的,旨在为教学和学习离散数学提供一个...
这些协议各有优缺点,适用于不同的应用场景,例如UART适合短距离高速通信,SPI和I2C则适用于多个设备之间的主从通信。 硬件设计资料中,可能包括电路原理图、PCB布局设计、接口连接示例等,这些都是实现单片机串行...
4. **通信协议**:电梯内部各组件间的通信可能采用串行通信协议,如SPI、I2C或CAN总线。此外,电梯与建筑物管理系统之间的通信可能涉及标准如Modbus或BACnet。 5. **安全机制**:电梯控制系统必须具备各种安全功能...
该压缩包文件“JSP+access手机销售系统(论文+系统+开题+封面+扉页+需求分析+任务书).zip”包含了基于JSP技术和Access数据库开发的手机销售系统的完整资源,包括学术论文、系统代码、开题报告、封面、扉页、需求分析...
【标题】:“vb+sql职工考勤管理系统职工考勤管理系统(论文+系统+开题报告).zip”这个压缩包文件包含了一个基于VB(Visual Basic)和SQL开发的职工考勤管理系统,同时也包括了相关的论文、系统实现以及开题报告。...
这份《社交电商+I+美妆行业报告》通过有赞服务与运营中心的类目运营出品,联合有赞商业中台,利用有赞独有的AARRR模型与运营方法论,对社交电商环境下的美妆行业进行了深入分析。报告不仅提供了行业数据概览,还剖析...