본문 바로가기

C++

C++ 연산자

연산자란

어떤한 값을 반환하는 것

연산자의 종류

산술 연산자, 대입 연산자 ,sizeof연산자, 논리 연산자, 비트단위 연산자

단항 연산자, 이항 연산자, 삼항 연산자

 

산술 연산자 (이항 연산자)

+, -, *, /, %(더하기, 빼기, 곱하기, 나누기, 나머지)

 

대입 연산자

=

주의사항

대입 연산자 기준 양 향은 같은 타입의 자료형 이여야 대입 연산자를 사용할수있다.

int a = 3.14 하면 정수형에 실수형을 넣어 문제가 발생한다. 물론 컴파일에 문제가되지는않지만

0.14라는값이 날라가버린다.

 

sizeof연산자

자료형이나 변수가 할당된 공간의 크기를 알아보기 위해 사용

int a;

sizeof(a);

하게되면 int는 4byte이기때문에 4가 반환된다. 만약 double이라면 8byte가 반환될것이다.

단 sizeof(char+ char)을하게되면 4가나오는데 char은 값의 저장을 정수로하기때문에 char+char을하게되면

정수값이 저장되고 정수값은 기본이 int이기때문에 4byte가 반환된다.

 

논리연산자

==, !=, &&(and), ||(or), !(not)

두 조건을 만족하는 경우, 또는 하나만 만족하는 경우에 사용

&&(and) 두개다 참이면 참

||(of) 한개라도 참이면 참

!(not) 논리부정 !false는 참이된다.

 

비트연산자

&(and), |(or), ^(xor), ~(not)

비트연산자는 비트단위로 연산한다.

0101 & 1001 = 0001이 나온다.

 

시프트연산자

<< , >>

좌측 피 연산자의 모든 비트열을 << / >> 방향으로 우측 피연산자의 값 만큼 이동시킨다.

10 = 1010

10 << 1 = 00010100

10 >> 1 = 0101

 

증감 연산자

++, --

피 연산자의 값을 1 증가 혹은 1감소

단, 증감 연산자가 피연산자앞/뒤에 붙을경우 다르게 작동된다.

만약 cout << ++10; 을하면 11이나온다. (전위 증감)

하지만 cout << 10++;을 하게되면 10이나온다. (후위 증감)

이유는 첫번째는 10에1을더해준다음에 출력하지만

두번째는 출력한후에 1을 더해주기때문이다.

정확하게는 처음에 1을더해주지만 1을더하기전에는 임시객체를 하나만들어 1을더하기 전에 값을 넣어두고

출력할때 만들어진 임시객체를사용한다.

후위 증감은 임시객체를 만들기때문에 속도에서는 전위가더 빠르다.

'C++' 카테고리의 다른 글

C++ Point  (0) 2020.08.26
C++ Reference  (0) 2020.08.24
C++ 진수  (0) 2020.08.14
C++ 부호비트  (0) 2020.08.13
C++ 문자  (0) 2020.08.13