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
반응형
'C++ > C++ 20' 카테고리의 다른 글
[C++ 20] 모듈 ( Module ) (0) | 2022.02.20 |
---|---|
[C++ 20] 프로그램 빌드 과정 및 문제점 (0) | 2022.02.19 |
[C++ 20] 콘셉트 목록 정리 (0) | 2022.02.19 |
[C++ 20] Concepts 적용 방법 (0) | 2022.02.13 |
[C++ 20] Visual Studio 2022 C++ 20 컴파일 환경 설정 (0) | 2022.02.13 |