[완료]지역레퍼런스를 리턴하면?
글쓴이: yuiangel / 작성시간: 목, 2008/07/17 - 5:29오후
int& increment( int &val ) {
val++;
return val; // a
}
void main() {
int n=10;
int &ref = increment( n ); // b
cout << ref << endl;
}
-----------------------------
a처럼 레퍼런스를 리턴하면 무엇이 리턴되나요?
함수가 끝나면 val은 사라질텐데 뭐가 리턴되는지 모르겠습니다.
b부분에 int &ref에는 그럼 뭐가 들어가게 되는지도 모르겠네요.
만약 값인 11이 리턴되면 &ref 레퍼런스에 상수값을 넣어 초기화 할 수 없지않나요?
초보에게 도움의 손길 한번 주신다면 복받으실 겁니다 ㅜㅜ!
Forums:
레퍼런스에 대한
레퍼런스에 대한 레퍼런스는 존재하지 않습니다.
int a = 10;
int &b = a;
int &c = b;
와 같이 하면, c는 b에 대한 레퍼런스가 아니라 원래 b가 가리키고있던 a에 대한 레퍼런스입니다.
적으신 코드에서도, ref는 val에 대한 레퍼런스가 아니라 n에 대한 레퍼런스입니다.
xylosper님 정말 감사합니다
좋은 일만 가득하시길 바랄게요. 감사합니다!
댓글 달기