• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

reference 반환 부근 질문 있습니다.

22.07.13 14:24 작성 조회수 121

1

8:31초 부근부터

int & getValue(int x)

{

    int value = x * 2:

    return value;

}

이렇게 들어가는데 이 함수가 어떻게 작동하는 것인지가 궁금합니다. 함수가 분명 int& 형이므로 참조형 값을 반환해야 되는데 반환하는 value는 int 형이니 혼란스럽습니다. 또 교수님께서 참조형 변수는 무조건 초기화가 필요하다고 하신 적이 있으신데 value 값이 결정되기도 전에 int&형이 선언이 되는 부분도 이해가 잘 가지 않습니다.

강의 주제보다는 함수라는 것 자체에 대해 이해도가 부족한 데서 나오는 의문 같은데 검색을 해도 잘 안나오네요. 답변해시면 감사하겠습니다. 읽어주셔서 감사합니다.

답변 1

답변을 작성해보세요.

1

강민철님의 프로필

강민철

2022.07.15

참고로 int & getValue(int x)은 int&형 선언이 아닙니다.

단지 값을 int& 형으로 리턴하겠다는 의미이지요.

 

또한 int로 선언되었던 value를 int &로 반환하는 것은 불가능한 것은 아닙니다.

다만 이는 수업에서 예시로 들기 위한 예시일 뿐, 

실제로는 int & 로 선언되고 초기화된 변수를 int &로 리턴해주는 것이 좋습니다.

 

아래 링크를 참고해보세요.

https://stackoverflow.com/a/752699