• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

auto operator<=>(const MyInt& rhs) const = default; 이 코드처럼 "=default" 가 몬가요? 어느강의 부분에 설명이 되어 있나요?

23.07.31 08:40 작성 조회수 243

1



강의에 있었던거 같기도 하고 기억이 잘 안나는데,, 혹시 강의 어느 챕터를 봐야 하는지 아시는 분 계실까요?

어디서 비슷한 문법을 본 것 같은데 기억이 잘 나질 않네여



답변 1

답변을 작성해보세요.

1

Soobak님의 프로필

Soobak

2023.07.31

안녕하세요, 답변 도우미 Soobak 입니다.

auto operator<=>(const MyInt& rhs) const = default;
위 코드라인에서 = default 키워드는 컴파일러의 기본 정의를 사용하겠다는 의미로 사용됩니다.

기본 정의를 사용할 수 있는 멤버 함수는 다음과 같습니다.

  • 기본 생성자

  • 복사 생성자

  • 이동 생성자

  • 복사 대입 연산자

  • 이동 대입 연산자

  • 소멸자

또한, C++20 부터 질문해주신 내용에 등장하는 새로운 표준 비교 연산자인 <=> 에도 기본 정의를 사용할 수 있다고 합니다.

비슷한 문법을 본 것 같다 하시는 것은,
우선 강의 9.10 변환 생성자, explicit, delete 에서의 = delete 키워드에 대한 내용이 있습니다.

해당 질문은 제가 메모를 해놓도록 하겠습니다.
추후 = default 키워드에 대해 정확한 참고 강의를 찾게 된다면 추가 댓글 남겨드리도록 하겠습니다.