레퍼런스는 변수의 별명이다. 레퍼런스는 변수 그 자체라는 느낌이라서 포인터와 다르다는 생각이
들 수 있지만, 레퍼런스도 포인터의 일종에 불과하다.
int i=3;
int &ri=i;
위 코드에서 컴파일러는 ri를 정수형 포인터로 생성하고 i의 주소값을 대입한다.
그리고 이후에 ri를 참조하는 문장을 (*ri)로 읽는다. 그래서 레퍼런스는 일종의 포인터이다.
레퍼런스는 참조하는 대상을 중간에 바꿀 수 없기 때문에 int const& ri는 의미가 없다.
하지만 const int& ri 는 레퍼런스가 가리키는 대상을 상수로 만든다.
'C++' 카테고리의 다른 글
| [C++] 디폴트 인수 (0) | 2022.01.04 |
|---|---|
| [C++] 인라인 함수 (0) | 2022.01.03 |
| [C++] 가변 인수 함수 (0) | 2022.01.03 |
| [C++] 함수 포인터 (0) | 2022.01.03 |
| [C++] Const 포인터 (0) | 2022.01.03 |