-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
해결됨
함수에 값을 대입한다는 개념이 이해가 되지 않습니다.
23.02.09 17:17 작성 조회수 304
0
안녕하세요.
우선 질문을 좀 많이 드려서 죄송합니다.
15분 6초를 보면 something.getValue()에 10을 대입하는내용이 나오는데요. const가 없는 instance에는 10이 대입이 되고 const가 있으면 안된다는 내용은 이해를 했습니다. 그런데 함수에 값을 대입한다는 개념 자체가 이해가 되지 않습니다. 여기서 something.getValue() 함수는 그냥 m_Value를 return하는 함수인데 이런 함수에 왜 숫자가 대입이 되는건지 이해가 되지 않으며 10을 대입시키면 그 10은 어디로 가는건지도 궁금합니다.
답변을 작성해보세요.
0
홍정모
지식공유자2023.02.10
함수는 메모리에 실행하는 코드로 저장이 되기 때문에 함수에게 값을 대입한다라고 생각하시면 이해가 안가는 것이 정상입니다. 조금 더 자세히 들여다보시면 착시현상이라는 것을 파악하실 수 있을 겁니다. (편의성을 올리기 위해서 사용하는 문법적 기교로 보실 수도 있습니다.)
auto& a = something.getValue();
a = 10;
cout << something.getValue() << endl; // 10으로 변경된 값이 출력되는지 확인
에서 a의 자료형을 확인해보시면 도움이 될 것 같습니다.
일단은 "함수가 반환해주는 레퍼런스 변수"에 대입을 해준다고 보실 수 있고
내부적으로는 결국 포인터로 생각하시는 것이 이해가 더 쉬우실 수도 있습니다.
답변 1