• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

연산자 오버로딩 질문있습니다

22.10.02 18:19 작성 조회수 335

0

int로 할때는 (a++)++ 후위형 증감 연산자가 안되는걸 확인했는데 그래서 연산자 오버로딩을 통한 후위형 증감 연산자를 만들었을 때도 똑같이 안될 거라고 생각했습니다. 하지만 예상과 다르게 컴파일단계에서 에러가 나지 않고 제대로 넘어가서 헷갈리네요 왜 그런건가요??

답변 2

·

답변을 작성해보세요.

1

Position&과 return *this의 용도가 그런 것입니다.
참조값을 뱉어주니, 그것을 이용해서 이어서 ++을 또 할 수 있는 것이죠.

0

넵 이해했습니다!

추가로 제 질문은 ++(++pos)가 참조값을 뱉어주니 이어서 된다는 건 이해가 되는데 반환형 Position 함수에 임시 객체 ret에 복사한 값을 반환한 (pos++)++ 가 int c = (a++)++에서 오류가 나는 것처럼 왜 오류가 안뜨는건지가 궁금한거였는데

다시 확인해보니 (pos1++)++이 컴파일 단계에서 오류만 안뜨고 값 증가는 안되는거였네요 감사드립니다!