++i 和 i++

int i = 0, j;
j = i++;    //j = 1, i = 1: 前置版本得到递增之后的值
j = ++i;    //j = 1, i = 2: 后置版本得到递增之前的值

这两种运算必须作用于左值运算对象(i是一个左值运算对象)。前置版本将对象本身作为左值返回,后置版本则将对象原始值的副本作为右值返回。

  • 后置版本需要将原始值存储下来,以便返回这个未修改的内容。如果不需要修改之前的值,那么后置版本的操作就是一种浪费。

猜你喜欢

转载自blog.csdn.net/weixu1999/article/details/81183216