[C++] 연산자 종류들
산술 연산자
연산자 이름 | 구문 | 오버로드 가능여부 | |
대입 | a = b | Y | |
덧셈 | a + b | Y | |
뺄셈 | a - b | Y | |
단항 덧셈 | + a | Y | |
단항 뺄셈 | - a | Y | |
곱셈 | a * b | Y | |
나눗셈 | a / b | Y | |
나머지 | a % b | Y | |
증가 | 전위 | ++a | Y |
후위 | a++ | Y | |
감소 | 전위 | --a | Y |
후위 | a-- | Y |
비교 연산자 / 관계 연산자
연산자 이름 | 구문 | 오버로드 가능여부 | |
같음 | a == b | Y | |
같지 않음 | a != b | Y | |
크다 | a > b | Y | |
작다 | a < b | Y | |
크거나 작다 | a >= b | Y | |
작거나 같다 | a <= b | Y | |
삼단비교 | a <=> b | Y |
논리 연산자
연산자 이름 | 구문 | 오버로드 가능여부 | |
부정(NOT) | !a | Y | |
AND | a && b | Y | |
OR | a || b | Y |
비트 연산자
연산자 이름 | 구문 | 오버로드 가능여부 | |
비트 NOT | ~a | Y | |
비트 AND | a & b | Y | |
비트 OR | a | b | Y | |
비트 XOR | a ^ b | Y | |
비트 왼쪽 시프트 | a << b | Y | |
비트 오른쪽 시프트 | a >> b | Y |
복합할당 연산자
연산자 이름 | 구문 | 오버로드 가능여부 | |
덧셈 대입 | a += b | Y | |
뺄셈 대입 | a -= b | Y | |
곱셈 대입 | a *= b | Y | |
나눗셈 대입 | a /= b | Y | |
모듈러(나머지) 대입 | a %= b | Y | |
비트 AND 대입 | a &= b | Y | |
비트 OR 대입 | a |= b | Y | |
비트 XOR 대입 | a ^= b | Y | |
비트 왼쪽 시프트 대입 | a <<= b | Y | |
비트 오른쪽 시프트 대입 | a >>= b | Y |
멤버와 포인터 연산자
연산자 이름 | 구문 | 오버로드 가능여부 | |
포인터 배열 | a[b] | Y | |
포인터 | *a | Y | |
참조 | &a | Y | |
포인터 a에 할당된 객체의 멤버 b | a->b | Y | |
객체 a의 멤버 b | a.b | N | |
포인터 a에 할당된 객체 멤버 | a->*b | Y | |
객체 a의 b할당된 멤버 | a.*b | N |
기타 연산자
연산자 이름 | 구문 | 오버로드 가능여부 | |
함수 호출 | a(a1, a2) | Y | |
쉼표 | a, b | Y | |
삼항 연산자 | a ? b : c | N | |
범위 확인 | a :: b | N | |
size-of | sizeof(a) / sizeof(자료형) | N | |
자료형 식별 | typeid(a) / typeid(자료형) | N | |
캐스트 | (자료형) a | Y | |
저장소 할당 | new 자료형 | Y | |
저장소 할당(배열) | new 자료형(n) | Y | |
저장소 할당 취소 | delete a | Y | |
저장소 할당 취소(배열) | delete[] a | Y |
자료 출처 https://ko.wikipedia.org/wiki/C%EC%99%80_C%2B%2B%EC%9D%98_%EC%97%B0%EC%82%B0%EC%9E%90