본문 바로가기
스터디/C++

[ C++ ] 참조자에 대하여

by 알 수 없는 사용자 2019. 9. 23.

변수는 할당된 메모리 공간에 붙여진 이름이다. 

 

int a = 10;

이와같이 변수 a는 값 10이 할당된 공간을 가르키는 이름이 되었다.

하지만 저 공간에 이름을 더 많이 부여할 수 없을까?

 

참조자는 자신이 참조하는 변수를 대신할 수 있는 또 하나의 이름이다. 

( 별명이라고 생각하면 쉬울 것 같다. )

 

int a = 10;
int &ref = a;

 

참조자를 생성할 때는 변수 앞에 &연산자를 붙이고 선언시 해당 변수로 초기화하면 된다.

주의할 점은, 참조자는 한번 지정한 객체를 변경할 수 없다.

 

자, 그럼 참조에 대해 더 알아보자.

 

변수 a를 참조자 ref가 참조하게 된다. 그렇다면 대입연산의 과정에서 참조자 ref에 무엇이 전달된다고 해야 할까?

 

"변수 a를 참조할 수 있는 참조의 정보가 전달된다."

 

즉, 변수 a를 참조할 수 있는 참조 값이 참조자 ref에 전달되어, ref가 변수 a를 참조하게 된다.

그래서 우리는 전달되는 정보를 표현하기 위해서 '참조의 정보' 또는 '참조 값'이 전달된다라고 표현한다.