개발일지/React & C++
[C++] 참조
연습용365
2023. 9. 17. 05:12
참조 : 포인터와 유사한 개념. '*'인 포인터와 다르게 참조는 '&' 기호를 사용한다.
int a = 10, b = 20;
int &aRef = a; // aRef는 정수형 변수 a에 대한 참조
cout << aRef << endl; // 10 출력
aRef = 100;
cout << aRef << endl; // 100 출력
aRef = b;
cout << aRef << endl; // 20 출력
포인터 int *aRef = &a; 는 a의 주소를 aRef가 가리키고 있다는 뜻이고, 참조는 a 정수에 대한 참조를 하는 것이다. 때문에 aRef = b를 했을 때 &b를 주소를 참조 하는 것이 아닌 b의 값을 a에게 넣어 준다는 뜻이 됨.
- 포인터와 다른 점 : 반드시 어떠한 대상을 참조하고 있어야 하기 때문에 아무것도 참조하지 않은 상황이 발생하지 않음 nullPtr 해줘야 하는 일도 없다는 뜻이다.
- 참조 대상을 바꿀 수 없어 하나의 대상만 참조 할 수 있다. 포인터의 경우 const 한정어 지정이 아니라면 다른 주소를 가리키도록 할 수 있음