728x90

개념

3중 비교 연산자에 사용되는 콘셉트

 

요구조건

a와 b가 T 형식의 값이라 할 때,  T가 다음 요구조건들을 모두 충족해야 한다.

  • ( a <=> b == 0 ) == bool ( a == b ) : true
  • ( a <=> b != 0  ) == bool ( a != b  ) : true
  • ( a <=> b ) <=> 0  ) 과 ( 0 <=> ( b <=> a ) ) : 상등 ( equal )
  • ( a <=> b < 0   ) == bool ( a < b  ) : true
  • ( a <=> b > 0   ) == bool ( a > b  ) : true
  • ( a <=> b <= 0 ) == bool ( a <= b ) : true
  • ( a <=> b >= 0 ) == bool ( a >= b ) : true

사용 예시

requires 방식과, 후행 requires를 사용한 방식

3중 비교 연산 시, 위 요구조건이 맞지 않은 경우 에러가 발생하게 된다.

 

https://en.cppreference.com/w/cpp/utility/compare/compare_three_way

반응형

+ Recent posts