代码之家  ›  专栏  ›  技术社区  ›  ElConrado

单+前缀在递增中的意义

  •  0
  • ElConrado  · 技术社区  · 6 年前

    我下载了一个代码,它提供5的整数值增量,如下所示:

    int i =0;
    i = +i +5;
    

    我通常使用:

    i+=5;
    

    这两种形式有什么不同吗?它是不是有特殊意义的单前缀加?

    2 回复  |  直到 6 年前
        1
  •  3
  •   Patrick Hofman Wahid Bitar    6 年前

    如果你问 i = +i +5; i = i + 5; 不,没有。

    +5 5 它是“相反的” -5 . 这个 + 这里只允许符号的一致性(能够使用减号来签署一个数字,但不能使用加号,这很奇怪)。

        2
  •  1
  •   Boris Uskov    6 年前

    在大多数情况下 i=+i+5;/i=i+5 等于 i=i+5;

    但在i+=5中,仅对i进行一次评估(参见 += operator )在下列情况下可能会生效: volatile 变量,因为副作用。