본문 바로가기

C++

[C++] 포인터와 레퍼런스의 차이

int value = 5; 
int* const ptr = &value; 
int& ref = value;

포인터 변수 ptr과 참조형 변수 ref는 같은 의미를 가진다.

 

*ptr = 5;
ref = 5;

위 명령문들 역시 같은 효과를 낸다.

포인터는 메모리 주소를 할당하고 참조형 변수는 대상 자체를 할당한다.

value 와 ref는 동일한 메모리를 참조하므로 참조형 변수 ref가 value의 별명이라고 할 수 있다.

 

그 외 Reference는 NULL 값을 넣지 못하는 등 포인터와 다른점이 있는데

메모리 주소 값에 직접 접근할 필요가 없는 이상 Reference(참조형) 변수를 쓰는 것이 안전하고 좋다.

 

 

 

 

'C++' 카테고리의 다른 글

[C++] 범위 기반 for문(range based for statement)  (0) 2021.12.25
[C++] this는 포인터다  (0) 2021.12.21
[C++] 생성자에서 포함된 객체 초기화  (0) 2021.12.20
[C++] 메모리 누수 체크  (0) 2021.12.20
[C++] 후위연산자  (0) 2021.12.19