IT常识

i++和++i的区别

2023-01-03 8253人阅读
威客牛网
科技信息综合服务平台

i++和++i的区别:

  1、i++ 返回原来的值,++i 返回加1后的值。

  2、i++ 不能作为左值,而++i可以。

  3、i++前者是先赋值,然后再自增;++i后者是先自增,后赋值。

  如果有表达式 a = i++ 它等价于 a = i;i = i + 1;

  如果有表达式 a = ++i;它等价于i = i + 1;a = i;

  ++i和i++都是分两步完成的。因为++i 是后面一步才赋值的,所以它能够当作一个变量进行级联赋值,++i =;a =b,即++i是一个左值(可被寻址的值);i++ 的后面一步是自增,不是左值。

  ++i和i++的使用,一般来说在循环域里面,这两者并没有什么很大的区别,因为编译器一般都会做优化。但是要注意其生存周期,以及很难察觉的,就好像指针delete以后一定要赋予0一样,要注意i值在程序流中的变化。

热门推荐
发布项目联系我们
分享至 取消