본문 바로가기

카테고리 없음

[C++] 참조(reference) 이해하기

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에 익숙해서인지 참조를 사용해서 프로그래밍한 적은 없다. 하지만 다른 사람은 사용할 수도 있고 그 사람의 소스를 봐야할 경우가 있기 때문에 알고 있어야 하겠다.