【发布时间】:2015-12-15 01:34:50
【问题描述】:
我们可以将a++定义为
a = a + 1;
不言自明的是,它复制了a,然后将其加1并将结果放入a。
但是我们可以用同样的方式定义++a吗?也许答案很简单,但我不知道。
【问题讨论】:
-
如果你只关心语句执行后
a的值,那么a++和++a是一样的。这是表达式不同的结果,但您的“定义”并不关心这一点。我也不会称其为“数学”,因为数学公式 a = a + 1 没有任何意义。 -
显然你已经切换了
a++和++a。前缀运算符++a可以替换为(a = a+1)。对于后缀运算符a++,表达式结果是a的原始值,如果不使用另一个后缀运算符,则无法将其定义为表达式。 -
对于事物的数学视图,您可以将
a视为一个无限的值序列,即每个时间点的值。但这不是 C++ 编程的实际观点。
标签: c++ post-increment pre-increment