void main() { int su = 5; int &ref = su; su++; cout << "su = : " << su << endl; cout << "ref = : " << ref << endl; ref++; cout << "su = : " << su << endl; cout << "ref = : " << ref << endl; }
프로그램 실행화면
C에서는 찾아볼 수 업는 참조라는 녀석이다. 포인터와는 다른 개념이다. 비슷한 동작을 하긴 하지만 다르다. 위 프로그램 보면 알겠지만 su, ref변수는 이름만 다르지 같은 녀석이다.
같은 녀석이라는 말은 같은 메모리 주소를 가지고 있다. 책에서는 한 철수의 별병이 둘리이다. '둘리에게 사탕을 주었다', '철수에게 사탕을 주었다'가 같은 말이라는 것으로 설명이 되어있다.
그럴싸한 설명인 것 같다. C에 익숙해서인지 참조를 사용해서 프로그래밍한 적은 없다. 하지만 다른 사람은 사용할 수도 있고 그 사람의 소스를 봐야할 경우가 있기 때문에 알고 있어야 하겠다.