🤍 전 강의 25% 할인 중 🤍

2024년 상반기를 돌아보고 하반기에도 함께 성장해요!
인프런이 준비한 25% 할인 받으러 가기 >>

  • 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    해결됨

참조자 리턴 질문입니다.

21.12.04 17:56 작성 조회수 155

0

Position& operator++()

{

_x++;

_y++;

return *this;

}

 

질문1)

제가 이해하기로는 Position&이 리턴이면 resturn *this에서

*this가 실제로 존재하는 메모리상에서 꺼내와서 쇽 넘기는거고

Position으로 리턴하면 실제값을 복사해놓고 복사된 값을 넘겨주는거다 라고 생각이 드는데

여기서 리턴타입이Position& 일때와 Position일때 와의 차이가 성능? 말고 또 존재하는게있나요?

자기자신 참조라는게 어감때문인지 Position&과 Position의 디테일한 차이를 잘 모르겠습니다. 

질문2)

연산자 오버로딩 중에 무조건 리턴타입이 참조자리턴이어야하는 경우가 있나요?

답변 1

답변을 작성해보세요.

0

실제 자신을 참조로 반환하면,
연달아 이어서 ++을 해줄 수 있습니다.

ex)
int a = 0;
++(++a);

보통 (a++)++;  이건 안 되고 ++(++a); 는 되게 만듭니다.


Windfall님의 프로필

Windfall

질문자

2021.12.04

자기자신을 리턴하면서 동시에 연산을 이어서 할 때 그런것 같은데 좀더 많이 써보면서 공부해봐야겠네요
감사합니다!

채널톡 아이콘