C++에서 참조는 포인터와 비슷하지만 기존 변수에 대한 별칭이라고 볼 수 있다.
기존의 포인터는 일종의 변수이기 때문에 가리키고 있는 변수를 변경할 수 있었지만 참조자를 사용하면 가리키고 있는 변수를 바꿀 수 없다.
컴파일러가 인지하는 가상 변수이다
형 안정화 const를 이용한 포인터와 동일하게 작동한다.
참조 사용 예시
int a = 10;
// &를 사용한다.
// 참조를 통해 a의 또 다른 이름인 참조자b를 만든다.
int& b = a;
// 포인터와 같이 b의 값을 변경하면 a가 바뀐다.
b = 20;
Debug 모드로 포인터 변수와 참조자의 차이


위와 같이 참조자는 원본의 별칭이라는 말 답게 메모리 주소가 원본 a와 같다
하지만 포인터 변수는 가리키는 변수이기 때문에 자신만의 메모리 주소에 값으로 원본 a의 메모리 주소를 담고 있다.
'C, C++' 카테고리의 다른 글
| 25. 함수 다중정의 (OverLoading) (0) | 2023.06.16 |
|---|---|
| 24. 범위기반 for문 (0) | 2023.06.15 |
| 22. c++ 메모리 동적할당 (0) | 2023.06.13 |
| 21. auto 자료형 (0) | 2023.06.12 |
| 20. namespace (0) | 2023.06.11 |