• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    해결됨

[03:05] postfix ++일 경우 리턴타입을 레퍼런스로 안해주는 이유

20.01.16 15:33 작성 조회수 173

1

안녕하세요?

postfix일 때 리턴타입을 레퍼런스로 안하고 그냥 인스턴스로 돌려보내는 이유가

1. 값을 먼저 리턴해줘야 되고

2. 그렇게 하기 위해서 temp 변수에 현재값을 저장해야하는데 이 temp변수는 지역변수

지역변수는 레퍼런스로 리턴할 수 없으니까 그런거죠?

그러면 postfix는 

int main()
{
    Digit digit1(7);

    cout << ++digit1 << endl;
    cout << ++(++digit1) << endl;

    cout << (digit1++)++ << endl;
    cout << digit1 << endl;

    return 0;
}

이런 식의 체이닝은 불가능 하더라고요.

후위 연산을 체이닝하는 방법이 있나요?

감사합니다.

답변 2

·

답변을 작성해보세요.

1

홍길동님의 프로필

홍길동

2020.12.31

리턴 temp를 하는 함수에 레퍼런스을 넣어버리면  이상한 값이 나오더라고요
안 넣으면 정삭적으로 출력되고요.

neue zeal님 덕분에 알고 갑니다~!

1

강의에서 설명하지 않았다면 저도 모르는 내용일겁니다. 공부하면서 여러가지 해보시는 것은 좋으나 실무에서는 문법을 복잡하게 쓰는 것은 권장하지 않습니다. 나중에 공부하실 알고리즘이 더 중요합니다. 문득 저도 컴파일러와 엄청 옥신각신하면서 공부하던 생각이 나네요.