i++与++i的区别

若是有表达式 a = i++  它等价于 a = i ; i = i + 1;优化

若是有表达式 a = ++i  它等价于   i = i + 1; a = i;指针

  1. 首先二者的区别是:前者是先赋值,而后再自增;后者是先自增,后赋值;
  2. ++i和i++都是分两步完成的。由于++i 是后面一步才赋值的,因此它可以看成一个变量进行级联赋值,++i = a =b;
  3. ++i 和i++ 的使用,通常来讲在循环域里面,这二者并无什么很大的区别,由于编译器通常都会给你作优化。可是要注意其生存周期,以及很难察觉的写脏,就好像指针delete之后必定要赋予0同样,咱们要注意i值在程序流中的变化;
相关文章
相关标签/搜索