본문 바로가기

C++

[C++] 레퍼런스

레퍼런스는 변수의 별명이다. 레퍼런스는 변수 그 자체라는 느낌이라서 포인터와 다르다는 생각이

들 수 있지만, 레퍼런스도 포인터의 일종에 불과하다.

 

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