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

C++의 단항 연산자


단항 연산자는 단일 피연산자에 대해 작동하여 새 값을 생성하는 연산자입니다. 단항 연산자는 다음과 같습니다 -

  • 간접 연산자(* ) - 포인터 변수에 대해 작동하고 포인터 주소의 값과 동일한 l-값을 반환합니다. 이것을 포인터 "역참조"라고 합니다.
  • 주소 연산자(&) - 단항 주소 연산자(&)는 피연산자의 주소를 사용합니다. 주소 연산자의 피연산자는 함수 지정자 또는 비트 필드가 아니고 레지스터 스토리지 클래스 지정자로 선언되지 않은 개체를 지정하는 l-값일 수 있습니다.
  • 단항 더하기 연산자(+) - 단항 더하기 연산자(+)의 결과는 피연산자의 값입니다. 단항 더하기 연산자에 대한 피연산자는 산술 유형이어야 합니다.
  • 단항 부정 연산자(-) - -(단항 빼기) 연산자는 피연산자의 값을 부정합니다. 피연산자는 모든 산술 유형을 가질 수 있습니다. 결과는 lvalue가 아닙니다.
  • 논리 부정 연산자(!) - 논리 부정 연산자(!)는 피연산자의 의미를 반대로 합니다. 피연산자는 산술 또는 포인터 유형(또는 산술 또는 포인터 유형으로 평가되는 표현식)이어야 합니다. 피연산자는 암시적으로 bool 유형으로 변환됩니다.
  • 1의 보수 연산자(~) - "비트 보수" 또는 "비트 NOT" 연산자라고도 하는 1의 보수 연산자는 해당 피연산자의 비트 1의 보수를 생성합니다. 피연산자는 정수 유형이어야 합니다.
  • 접두사 증가 연산자(++) - 접두사 증가 연산자( ++ )는 피연산자에 1을 추가합니다. 이 증가된 값은 표현식의 결과입니다. 피연산자는 const 유형이 아닌 l-값이어야 합니다. 결과는 피연산자와 동일한 유형의 l-값입니다.
  • 접두사 감소 연산자(--) - 접두사 감소 연산자( -- )는 피연산자에서 1을 뺍니다. 이 감소된 값은 표현식의 결과입니다. 피연산자는 const 유형이 아닌 l-값이어야 합니다. 결과는 피연산자와 동일한 유형의 l-값입니다.
  • 캐스트 연산자() - 유형 캐스트는 특정 상황에서 객체 유형을 명시적으로 변환하는 방법을 제공합니다. 컴파일러는 유형 캐스트가 수행된 후 cast-expression을 유형 type-name으로 처리합니다.
  • sizeof 연산자 - 피연산자의 크기를 계산하는 데 사용할 수 있는 컴파일 시간 단항 연산자입니다.
  • 새 연산자 - 메모리를 동적으로 할당하기 위해 사용하는 메모리 할당 연산자입니다.
  • 삭제 연산자 - 동적으로 할당된 메모리를 해제할 때 사용하는 메모리 할당 연산자입니다.

이 연산자에는 오른쪽에서 왼쪽으로의 연관성이 있습니다. 단항 표현식은 일반적으로 접미사 또는 기본 표현식 앞에 오는 구문을 포함합니다.

예시

-(빼기) 및 casting() 단항 연산자의 예를 살펴보겠습니다.

#include<iostream>
using namespace std;
int main() {
   int x;
   float y = 1.23;

   x = (int) y;
   x = -x;

   cout << x;
   return 0;
}

출력

이것은 출력을 제공합니다 -

-1