[C++] C++20: 우주선 연산자

우주선 연산자(<=>)는 c++20에서 당장 간단하고 편리하게 사용할 수 있는 기능이다.

예시를 들어보겠다.
정수에 대한 래퍼 타입을 정의한다 치자.

그럼 아마 비교연산자도 정의해서 쓰고 싶을텐데

그러려면 이런 미친 노가다를 코드로 작성해야 한다.

아무튼 실행은 잘 되긴 된다.

그런데 이게 편하고 좋다고 생각하는가?
그렇다면 그냥 그대로 쓰면 된다. 굳이 강요하고 싶은 생각은 없다.

우주선 연산자는 저기서 ==와 !=를 제외한 비교연산자를 하나로 뭉쳐놓은 기능이다.

이렇게 하나로 뭉쳐서, 일반적인 comparator 함수처럼 구현하면 된다.
왼쪽이 작으면 음수를, 같으면 0을, 오른쪽이 작으면 양수를 반환하면 될 뿐이다.

그러면 이 연산자는 <=> 연산자 자체로 쓸수 있을 뿐더러, 그 하위의 비교연산자들로도 통용이 된다.
이렇게

잘 된다.



참조
https://openmynotepad.tistory.com/m/92