변수는 할당된 메모리 공간에 붙여진 이름이다.
int a = 10;
이와같이 변수 a는 값 10이 할당된 공간을 가르키는 이름이 되었다.
하지만 저 공간에 이름을 더 많이 부여할 수 없을까?
참조자는 자신이 참조하는 변수를 대신할 수 있는 또 하나의 이름이다.
( 별명이라고 생각하면 쉬울 것 같다. )
int a = 10;
int &ref = a;
참조자를 생성할 때는 변수 앞에 &연산자를 붙이고 선언시 해당 변수로 초기화하면 된다.
주의할 점은, 참조자는 한번 지정한 객체를 변경할 수 없다.
자, 그럼 참조에 대해 더 알아보자.
변수 a를 참조자 ref가 참조하게 된다. 그렇다면 대입연산의 과정에서 참조자 ref에 무엇이 전달된다고 해야 할까?
"변수 a를 참조할 수 있는 참조의 정보가 전달된다."
즉, 변수 a를 참조할 수 있는 참조 값이 참조자 ref에 전달되어, ref가 변수 a를 참조하게 된다.
그래서 우리는 전달되는 정보를 표현하기 위해서 '참조의 정보' 또는 '참조 값'이 전달된다라고 표현한다.
'스터디 > C++' 카테고리의 다른 글
[ C++ ] 복사 생성자( Copy Constructor )와 explicit (1) | 2019.09.24 |
---|---|
[ C++ ] 생성자와 소멸자 그리고 멤버 이니셜라이저( Member Initializer ) (1) | 2019.09.24 |
[ C++ ] Self-Reference (0) | 2019.09.20 |
[ C++ ] C/ C++ 입출력 함수별 속도 비교 (0) | 2019.09.20 |
[ C++ ] 객체 배열과 객체 포인터 배열 / this 포인터 (0) | 2019.09.20 |