代入演算子
二項演算子:インデックス への移動
構文
unary-expression assignment-op assignment-expression
説明
代入演算子は次のとおりです:
= *= /= %= += -=
<<= >>= &= ^= |=
= 演算子は、唯一の単純代入演算子で、その他は複合代入演算子となります。
式 E1 = E2
で、E1
は、変更可能な左辺値でなければなりません。代入式自身は、左辺値ではありません。
式
E1 op= E2
は、次の式と同じ効果があります:
E1 = E1 op E2
ただし、左辺値 E1
は一度しか評価されません。たとえば、E1 += E2
は E1 = E1 + E2
と同じになります。
この式が評価された後では、式の値は E1
となります。
単純および複合の代入において、オペランド E1
と E2
は、次のルールのいずれかに従わなければなりません:
E1
は限定または非限定の算術型で、E2
は算術型E1
は、E2
の型に互換性のある構造体型または共用体型の、限定または非限定版E1
とE2
は、互換性のある型の限定または非限定バージョンへのポインタで、左辺が指す型は、右辺が指す型の限定子をすべて持つ。E1
とE2
のどちらか一方はオブジェクト型または不完全型へのポインタで、もう一方は限定/非限定の void 型へのポインタである。 左辺が指す型は、右辺が指す型の限定子をすべて持つ。E1
はポインタで、E2
は null ポインタ定数。
メモ: 複合演算子の間にスペース(
+
<space>=
)を入れると、エラーを発生させます。
メモ: プロパティと共に使用すると代入演算子がサポートされない場合があります。