代入演算子

提供: RAD Studio
移動先: 案内検索

二項演算子:インデックス への移動

構文

unary-expression  assignment-op  assignment-expression

説明

代入演算子は次のとおりです:

= *= /=  %= += -=
<<= >>= &= ^= |=

= 演算子は、唯一の単純代入演算子で、その他は複合代入演算子となります。

E1 = E2 で、E1 は、変更可能な左辺値でなければなりません。代入式自身は、左辺値ではありません。

E1 op= E2

は、次の式と同じ効果があります:

E1 = E1 op E2

ただし、左辺値 E1 は一度しか評価されません。たとえば、E1 += E2E1 = E1 + E2 と同じになります。

この式が評価された後では、式の値は E1 となります。

単純および複合の代入において、オペランド E1E2 は、次のルールのいずれかに従わなければなりません:

  1. E1 は限定または非限定の算術型で、E2 は算術型
  2. E1 は、E2 の型に互換性のある構造体型または共用体型の、限定または非限定版
  3. E1E2 は、互換性のある型の限定または非限定バージョンへのポインタで、左辺が指す型は、右辺が指す型の限定子をすべて持つ。
  4. E1E2 のどちらか一方はオブジェクト型または不完全型へのポインタで、もう一方は限定/非限定の void 型へのポインタである。 左辺が指す型は、右辺が指す型の限定子をすべて持つ。
  5. E1 はポインタで、E2 は null ポインタ定数。

メモ: 複合演算子の間にスペース(+<space>=)を入れると、エラーを発生させます。

メモ: プロパティと共に使用すると代入演算子がサポートされない場合があります。