增量赋值

增量赋值(Augmented assignment)或称复合赋值(compound assignment)是在一些编程语言中的一类赋值运算符。通常用于替代一条语句,其中的运算符把变量作为一个运算数,再把结果赋值给同一变量。例如x += 1可展开为x = x + (1)。常适用于算术运算符、移位运算符、位操作运算符等。

语义
在如C语言中,增量赋值语句是表达式,因此允许右结合的连续的增量赋值,如下例:

a += b += c

而Python语言的赋值语句和增量赋值语句不是表达式,因此不允许上述用法。

C++语言的增量赋值表达式的值为左值。

语言支持

  • APL
  • AWK
  • C
  • C++
  • C#

*

  • D
  • DWScript
  • Free Pascal (Needs -Sc command line switch)
  • Go
  • Java
  • JavaScript
  • Kotlin
  • Objective-C
  • Perl
  • PHP
  • Python
  • Ruby
  • Rust
  • Scala
  • SystemVerilog
  • Swift
  • Visual Basic

参见

  • 增值和减值操作符—special case of augmented assignment, by 1
  • IEEE 754 augmented arithmetic operation

参考文献

评论 (0)

  • 还没有评论,来抢沙发吧。