为什么 post-increment ++ 在编程示例中比 pre-increment 更广泛使用?
Why is the post-increment ++ more widely used over the pre-increment in programming examples?
似乎在大多数情况下使用 pre 更有意义,但不知何故 post 更为常见。
while (counter < 10)
counter++;
在阅读了我能找到的关于 ++
和 --
历史的所有内容之后,似乎这个约定没有技术原因,即使它是一个约定(稍后会详细介绍) ).因此,我认为这一定是个人喜好演变的问题。我认为它与可读性有关。 counter++
比 ++counter
更直观,因为它是一个赋值运算符。本质上,它是 shorthand for counter = counter + 1
。在这里,您将右侧的增量分配给了左侧的表达式。 counter++
自然更符合这个逻辑
但是,这不一定是约定俗成的。 会争辩说前缀运算符总是更好(诚然,主要是出于历史原因)。就个人而言,我更喜欢前缀,因为它在其他一元运算符(如 &
、*
等以及可能的速度优化的上下文中对我来说更有意义。
也许是叛逆的本性吧。 “谁在乎速度?”。 ++i 和 i++ 一样容易阅读。我什至没有想到人们会很高兴地理解 ++i。但我站的地方,阅读其中任何一篇都没有困难。所以我选择开销较小的那个。这不是很大的提升,但打字也不难。
似乎在大多数情况下使用 pre 更有意义,但不知何故 post 更为常见。
while (counter < 10)
counter++;
在阅读了我能找到的关于 ++
和 --
历史的所有内容之后,似乎这个约定没有技术原因,即使它是一个约定(稍后会详细介绍) ).因此,我认为这一定是个人喜好演变的问题。我认为它与可读性有关。 counter++
比 ++counter
更直观,因为它是一个赋值运算符。本质上,它是 shorthand for counter = counter + 1
。在这里,您将右侧的增量分配给了左侧的表达式。 counter++
自然更符合这个逻辑
但是,这不一定是约定俗成的。 &
、*
等以及可能的速度优化的上下文中对我来说更有意义。
也许是叛逆的本性吧。 “谁在乎速度?”。 ++i 和 i++ 一样容易阅读。我什至没有想到人们会很高兴地理解 ++i。但我站的地方,阅读其中任何一篇都没有困难。所以我选择开销较小的那个。这不是很大的提升,但打字也不难。