C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C++の複合代入演算子


複合代入演算子は、e1 op =e2の形式で指定されます。ここで、e1はconst型ではなく変更可能なl値であり、e2は次のいずれかです-

  • 算術型
  • opが+または–の場合のポインタ

e1 op=e2フォームはe1=e1 op e2として動作しますが、e1は1回だけ評価されます。

以下は、C++の複合代入演算子です-

演算子
説明
* =
第1オペランドの値に第2オペランドの値を掛けます。結果を最初のオペランドで指定されたオブジェクトに格納します。
/ =
第1オペランドの値を第2オペランドの値で除算します。結果を最初のオペランドで指定されたオブジェクトに格納します。
%=
第2オペランドの値で指定された第1オペランドのモジュラスを取得します。結果を最初のオペランドで指定されたオブジェクトに格納します。
+ =
第2オペランドの値を第1オペランドの値に追加します。結果を最初のオペランドで指定されたオブジェクトに格納します。
– =
最初のオペランドの値から2番目のオペランドの値を減算します。結果を最初のオペランドで指定されたオブジェクトに格納します。
<<=
第1オペランドの値を、第2オペランドの値で指定されたビット数だけ左にシフトします。結果を最初のオペランドで指定されたオブジェクトに格納します。
>> =
第1オペランドの値を、第2オペランドの値で指定されたビット数だけ右にシフトします。結果を最初のオペランドで指定されたオブジェクトに格納します。
&=
第1オペランドと第2オペランドのビットごとのANDを取得します。結果を最初のオペランドで指定されたオブジェクトに格納します。
^ =
第1オペランドと第2オペランドのビット単位の排他的論理和を取得します。結果を最初のオペランドで指定されたオブジェクトに格納します。
| =
第1オペランドと第2オペランドのビット単位の包含ORを取得します。結果を最初のオペランドで指定されたオブジェクトに格納します。

これらの演算子のいくつかを使用した例を見てみましょう-

#include<iostream>
using namespace std;

int main() {
   int a = 3, b = 2;

   a += b;
   cout << a << endl;

   a -= b;
   cout << a << endl;

   a *= b;
   cout << a << endl;

   a /= b;
   cout << a << endl;

   return 0;
}
出力 これにより出力が得られます-

5
3
6
3

列挙型への複合代入はエラーメッセージを生成することに注意してください。左のオペランドがポインター型の場合、右のオペランドはポインター型であるか、0と評価される定数式である必要があります。左のオペランドが整数型の場合、右のオペランドはポインターであってはなりません。タイプ。


  1. C#の複合代入演算子

    複合代入演算子は、結果を代入するための短い構文を持っています。結果が最初のオペランドに割り当てられる前に、2つのオペランドに対して演算が実行されます。 以下は、C#の複合代入演算子です。 Sr.No 演算子と演算子名 1 + = 追加の割り当て 2 -= 減算の割り当て 3 * = 乗算の割り当て 4 / = 部門の割り当て 5 %= モジュロ割り当て 6 &= ビットごとのAND代入 7 | = ビットごとのOR割り当て 8 ^ = ビット単位

  2. Pythonのさまざまな代入演算子タイプは何ですか?

    次の表は、すべての代入演算子を示しています- オペレーター 説明 例 = 右側のオペランドから左側のオペランドに値を割り当てます c =a+bからcへのa+bの値 + = 右のオペランドを左のオペランドに追加し、結果を左のオペランドに割り当てます c + =acにaを追加 -= 左のオペランドから右のオペランドを減算し、その結果を左のオペランドに割り当てます c-=cからaを引く * = 右のオペランドと左のオペランドを乗算し、その結果を左のオペランドに割り当てます c * =cにaを掛けて、cに割り当てます / = 左のオペランドを右のオペランドで除算し