Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++의 복합 할당 연산자


복합 할당 연산자는 e1 op=e2 형식으로 지정됩니다. 여기서 e1은 const 유형이 아닌 수정 가능한 l-값이고 e2는 다음 중 하나입니다 -

  • 산술 유형
  • op가 + 또는 –인 경우 포인터

e1 op=e2 형식은 e1 =e1 op e2처럼 작동하지만 e1은 한 번만 평가됩니다.

다음은 C++의 복합 할당 연산자 −

연산자
설명
*=
첫 번째 피연산자의 값에 두 번째 피연산자의 값을 곱합니다. 첫 번째 피연산자가 지정한 객체에 결과를 저장합니다.
/=
첫 번째 피연산자의 값을 두 번째 피연산자의 값으로 나눕니다. 첫 번째 피연산자가 지정한 객체에 결과를 저장합니다.
%=
두 번째 피연산자의 값으로 지정된 첫 번째 피연산자의 계수를 취합니다. 첫 번째 피연산자가 지정한 객체에 결과를 저장합니다.
+=
첫 번째 피연산자의 값에 두 번째 피연산자의 값을 더합니다. 첫 번째 피연산자가 지정한 객체에 결과를 저장합니다.
–=
첫 번째 피연산자의 값에서 두 번째 피연산자의 값을 뺍니다. 첫 번째 피연산자가 지정한 객체에 결과를 저장합니다.
<<=
첫 번째 피연산자의 값을 두 번째 피연산자의 값으로 지정된 비트 수만큼 왼쪽으로 이동합니다. 첫 번째 피연산자가 지정한 객체에 결과를 저장합니다.
>>=
첫 번째 피연산자의 값을 두 번째 피연산자의 값으로 지정된 비트 수만큼 오른쪽으로 이동합니다. 첫 번째 피연산자가 지정한 객체에 결과를 저장합니다.
&=
첫 번째 및 두 번째 피연산자의 비트 AND를 구합니다. 첫 번째 피연산자가 지정한 객체에 결과를 저장합니다.
^=
첫 번째 및 두 번째 피연산자의 비트 배타적 OR을 구합니다. 첫 번째 피연산자가 지정한 객체에 결과를 저장합니다.
|=
첫 번째 및 두 번째 피연산자의 비트 포함 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으로 평가되는 상수 표현식이어야 합니다. 왼쪽 피연산자가 정수 유형이면 오른쪽 피연산자는 포인터가 아니어야 합니다. 유형.