반응형
참조 : http://cafe.naver.com/cafec/2033
#include <iostream>
using namespace std;
int& f();
int x;
int main()
{
f()=100; // <---- 이해가 안되는 부분...
cout<<x<<endl;
return 0;
}
int& f()
{
return x;
}
여기서 결과 값이 100이 나오는데요...
레퍼런스를 제거하고 컴파일 하면 에러가 나더라고요...
x 값이 어떻게 반환이 되는지....
함수 f(x)는 x의 address를 반환합니다. 즉 x의 값이 반환되는 것이 아니라 x의 address가 반환됩니다. x의 address에 100의 값을 넣는 것이므로 이 문법은 적법합니다. 이 방법은 여러가지로 유용한 tip이므로 알아두시면 도움이 됩니다.
반응형