【问题标题】:What is the difference between int++ and ++int? [duplicate]int++ 和 ++int 有什么区别? [复制]
【发布时间】:2012-04-12 15:19:44
【问题描述】:

可能重复:
What is the difference between ++i and i++
pre Decrement vs. post Decrement

是的,我是菜鸟,但我完全忘记了他们俩是做什么的。

但是,我知道 int++ 只是将 int 的值加一。

那么,什么是 ++int?

谢谢。

【问题讨论】:

  • 这可能是重复的。
  • 请为您正在谈论的编程语言添加标签。

标签: int add


【解决方案1】:

如果您在谈论 C(或类似 C 的语言),则完全相同,除非您使用该值:

int a = 10;
int b = a++;

在这种情况下,a 变为 11,b 设置为 10。这是后增量 - 您在 使用后增量。

如果你把上面那一行改成:

int b = ++a;

然后a 仍然变为 11,但 b 也是如此。那是因为它是预增量的 - 你在 使用之前增量。

请注意,对于 C++ 类来说,这并不完全相同,通过优先选择一个类可以提高效率。但既然你在谈论整数,C++ 的行为与 C 相同。

【讨论】:

    【解决方案2】:

    a++ 将返回 a 并递增它,++a 将递增 a 并返回它:

    a = 5; b = a++; // b = 5, a = 6

    a = 5; b = ++a; // b = 6, a = 6

    【讨论】:

      【解决方案3】:

      C 或 C++ 中的每个表达式都有一个类型、一个值和可能的副作用。

      int i;
      ++i;
      

      ++i 的类型是int。副作用是增加i。表达式的值是i值。

      int i;
      i++;
      

      i++ 的类型是int。副作用是增加i。表达式的值是i值。

      【讨论】:

        【解决方案4】:

        它是预增量运算符

        nice explanation here

        【讨论】:

          猜你喜欢
          • 2011-03-28
          • 2010-11-12
          • 2012-02-15
          • 2013-02-02
          • 2016-07-24
          • 1970-01-01
          • 2011-08-28
          • 1970-01-01
          • 2013-08-14
          相关资源
          最近更新 更多