二者的本质区别在表达能力的区别,++i 能做的事,i++ 不再话下,可 i++ 能做的事,++i 可来不了。而且,++i 其实等价于 i+=1,i++ 可找不到类似的等价。(然而,对于 C++ 的运算符重载 operator++ 来说,i++ 会产生不必要的中间变量)。

考虑如下的简单语句:

return i++;

i++ 的一条语句,两个操作的特性发挥得淋漓尽致,返回当前值的同时,再执行自加的动作,也即:

{return i;++i;}

显然这种表达是有问题的
在 ++i 之前,程序已经 return 了

而:

return ++i;

仅能返回当前值+1,且可被替换为:

return i+=1;

Trick(九)—— ++i 与 i++ 的本质区别相关推荐

  1. 用实例揭示notify()和notifyAll()的本质区别

    用实例揭示notify()和notifyAll()的本质区别 收藏 notify()和notifyAll()都是Object对象用于通知处在等待该对象的线程的方法.两者的最大区别在于: notifyA ...

  2. 深度学习vs机器学习 | 这些本质区别你知道多少?

    作者 | Walker [磐创AI导读]:深度学习和机器学习已经变得无处不在,那它们之间到底有什么区别呢?本文我们为大家总结了深度学习VS机器学习的六大本质区别.欢迎大家点击上方蓝字关注公众号:磐创A ...

  3. 人,与动物的本质区别,在哲学里说是制造和使用工具

    人之所以称之为人,与动物的本质区别,在哲学里说是制造和使用工具,并在此劳动过程中产生了人类特有的意识.这个有些泛,我根据制造使用工具,进一步将人与动物的本质区别划分为一下两点具体体现: (1)人类的进 ...

  4. javascript中的面向对象_面向对象和函数式编程的本质区别

    编程的本质 当写过许许多多程序后,接触了那么多编程模式.设计模式.框架.语言.算法.数据结构以后,就会发现编程的本质万变不离其宗就是,操纵一坨数据.当然操纵的方式有许多,存储的方式也五花八门,但是本质 ...

  5. 关于Debug和Release之本质区别的讨论

    一.Debug 和 Release 编译方式的本质区别     Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序.Release 称为发布版本,它往往是进行了各种优化 ...

  6. linux 读写设备文件,linux-中块设备文件及字符设备文件的本质区别

    原标题:linux-中块设备文件及字符设备文件的本质区别 在LINUX系统文件类型分类的文章中我们提到了 块设备 和 字符设备文件,那么什么是块设备 字符设备文件呢?他们之间有什么本质上的区别呢? 设 ...

  7. 【C 语言】数组与指针操作 ( 数组符号 [] 与 指针 * 符号 的 联系 与 区别 | 数组符号 [] 与 指针 * 符号 使用效果 基本等价 | 数组首地址 与 指针 本质区别 )

    文章目录 前言 一.数组符号 [] 与 指针 * 符号 使用效果 基本等价 二.数组首地址 与 指针 本质区别 前言 参考 [C 语言]指针 与 数组 ( 指针 | 数组 | 指针运算 | 数组访问方 ...

  8. SDN和SD-WAN有本质区别—Vecloud微云

    作为软件定义网络(SDN)技术中的一个细分,软件定义广域网(SD-WAN)无疑是从2015年到现在企业级广域网布局中最热门的技术之一. SDN SDN旨在支持局域网(LAN)以及服务提供商网络中的现代 ...

  9. 我看UNIX与Windows的本质区别

    我看UNIX与Windows的本质区别 文化,我首先想到的是文化.Unix和Windows从诞生之初的文化差异本质上划分了两者的界限.直观看来,一个装逼文化,一个傻逼文化. Unix诞生在贝尔实验室的 ...

最新文章

  1. php模态窗口,php – 如何在yii2中的模态窗口中使用pjax更新小部件
  2. trace--求矩阵的迹
  3. 关于ABAP高级顾问应该掌握的技术
  4. BZOJ-2115-Xor-WC2011
  5. mongodb-$type、limit、skip、sort方法、索引、聚合
  6. Nginx——debug的使用
  7. python显示当前日期_python显示当前时间
  8. eclipse字体大小设置
  9. cad.net objectarx 后台打开dwg
  10. word插入页眉图片
  11. [MP3]MP3固件持续分享(2019.1.25)
  12. 设计模式——策略模式( Strategy Pattern )
  13. 嫂嫂学计算机,开心一刻,,老妈催婚, 含泪让男闺蜜冒充, 进门后嫂子愣住了…
  14. 如何禁止鼠标唤醒Win10?
  15. 简要比较费雪方程与剑桥方程
  16. 移动硬盘如何分区?分区软件推荐:
  17. PowerShell 读取性能计数器二进制文件(.blg)记录并汇总计算
  18. 对第一台计算机的介绍,关于世界上第一部计算机的介绍
  19. msp430 abs函数 c语言,实现一个简单的msp430软件
  20. Vue实现角色权限动态路由详细教程,在vue-admin-template基础上修改,附免费完整项目代码

热门文章

  1. centos7 查看oracle运行日志_Linux(CentOS7)部署系列---常规应用部署方案
  2. eclipse使用git合并_IntelliJ IDEA完整使用教学:从小白到大牛的必经之路!
  3. java有关问题,Java常见有关问题和解决方法
  4. php设置pem,php – 如何将OpenSSH公钥文件格式转换为PEM
  5. python面向对象遇见问题
  6. VC、VB、Delphi …… 你该学哪个?
  7. python:函数的参数传递方法演示
  8. Angular官方教程采坑
  9. 洛谷 [P1387] 最大正方形
  10. 百分点舆情洞察系统解决方案