3방향 비교 연산자
- <
, <=
, >
, >=
, ==
, !=
를 한번에 판단 가능
- 생긴 모양이 우주선과 닮아서 우주선 연산자, spaceship operator
라고도 불린다
주어진 표현식의 결과가 같은지, 보다 작은지, 큰지 세 가지 결과 중 하나를 반환해야 하기에 bool
로 표현이 불가능 하다
- 정수 타입 : strong_ordering
- 실수 타입 : partial_ordering
- 사용자 정의 타입 : weak_ordering
기본 타입 보다는 사용자 정의 타입에서 효과를 볼 수 있다
- 무거운 기존 비교 연산자를 두번 호출할 필요 없이 3방향 비교 연산자를 통해 한번 호출로 결과를 낼 수 있기 때문
strong_ordering::less
: 첫 번째 피연산자가 두 번째 피연산자보다 작다.
strong_ordering::greater
: 첫 번째 피연산자가 두 번째 피연산자보다 크다.
strong_ordering::equal
: 두 피연산자가 같다.
strong_ordering::less
: 첫 번째 피연산자가 두 번째 피연산자보다 작다.
strong_ordering::greater
: 첫 번째 피연산자가 두 번째 피연산자보다 크다.
strong_ordering::less
: 첫 번째 피연산자가 두 번째 피연산자보다 작다.
strong_ordering::greater
: 첫 번째 피연산자가 두 번째 피연산자보다 크다.
strong_ordering::equivalent
: 두 피연산자가 같다.