KPlay의 코딩 그리고 잡동사니

참조자는 자신이 참조하는 변수를 대신할 수 있는 또 하나의 이름을 붙여주는 것이다.

참조자를 선언하면 참조한 하나의 값이 두개의 이름을 갖게되는것이다.

5행에서 num1을 1020으로 초기화 했다

6행에서 참조자num2를 선언해 거기에 num1을 대입했으므로

1020은 num1으로도 num2로도 가리킬 수 있게 된것이다.

따라서 8행을 통해 9행, 10행을 거치면 8행에서 초기화 된 새 값을 출력하는걸 볼 수 있다.

12, 13행에서 보이듯이 주소값도 똑같은걸 알 수 있다.

참조자는 쉽게 비유하면 별명(별칭)이라고 생각할 수 있다.

윤성우의 별명이 흰곰이라면

"윤성우에게 전화를 걸어"와 "흰곰에게 전화를 걸어"는 완전히 똑같은 문장이 되며 처리결과도 같다.

또한, 참조자의 수에는 제한이 없으며, 참조자를 대상으로도 참조자를 선언할 수 있따.

가령,

int num1 = 2759;

int &num2 = num1;

int &num3 = num1;

int &num4 = num1;

이라고하면

2759가 저장된 하나의 메모리공간에 num1~num4까지 총 4개의 이름이 붙은것이다.

또한

int num1 = 2759;

int &num2 = num1;

int &num3 = num2;

int &num4 = num3;

와 같이 참조자를 대상으로 참조자를 선언하는것도 가능하며 결과도 위와 같다.

하지만, 필요 이상으로 참조자를 선언하는 것은 바람직하지 않으며, 참조자를 대상을 또 다른 참조를

만드는 일은 흔히 필요하지는 않다.

이 글을 공유합시다

facebook twitter kakaoTalk kakaostory naver band