-
카테고리
-
세부 분야
게임 프로그래밍
-
해결 여부
미해결
연산자 오버로딩 질문있습니다
22.10.02 18:19 작성 조회수 335
0
int로 할때는 (a++)++ 후위형 증감 연산자가 안되는걸 확인했는데 그래서 연산자 오버로딩을 통한 후위형 증감 연산자를 만들었을 때도 똑같이 안될 거라고 생각했습니다. 하지만 예상과 다르게 컴파일단계에서 에러가 나지 않고 제대로 넘어가서 헷갈리네요 왜 그런건가요??
답변을 작성해보세요.
1
Rookiss
지식공유자2022.10.02
Position&과 return *this의 용도가 그런 것입니다.
참조값을 뱉어주니, 그것을 이용해서 이어서 ++을 또 할 수 있는 것이죠.
0
근면한 복어
질문자2022.10.02
넵 이해했습니다!
추가로 제 질문은 ++(++pos)가 참조값을 뱉어주니 이어서 된다는 건 이해가 되는데 반환형 Position 함수에 임시 객체 ret에 복사한 값을 반환한 (pos++)++ 가 int c = (a++)++에서 오류가 나는 것처럼 왜 오류가 안뜨는건지가 궁금한거였는데
다시 확인해보니 (pos1++)++이 컴파일 단계에서 오류만 안뜨고 값 증가는 안되는거였네요 감사드립니다!
답변 2