++a和a++的区别

    相信学习过任何编程语言的都见过 i++和++i,并且老师也是三令五申的讨论这两个的区别,考试的时候总是拿出来吓唬学生。

    总体的首先说一下这个教科书上的区别:i++是先用,后加,++i是先加后用。举个例子:int i=3,j=3;int a = ++i;,int b = j++;那么a是4,b是3,但是最后i,j都是4.这个是教科书上说的,现在我们从内存的角度来看一下这个原理的东西。

    i++:编译器是这样子干的:首先是把这个i 拷贝到一个内存区域,把这个拷贝的 i 数值返回,之后把原先的那个i 加1,随后编译器会把这个临时存储这个i 的拷贝的内存释放。

    ++i :这个就没有这么麻烦了。直接是把这个i 自动的加1,之后返回这个i 数值。

    两个的比较就是:i++需要一个临时内存,但是++i 是不要的,而且他们两个比较就是多了一个临时变量。如果你在不需要特殊的使用他们的特性的时候,推荐使用++i ,提高性能。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值