references in {C++}
질의응답#
C++에서 참조자(reference)란 무엇일까요? 포인터에 비교했을 때 어떤 특징을 가지고 있나요?
어떤 변수를 다른 이름으로, 다른 스코프에서도 사용할 수 있게 만들어주는 특징을 가지고 있습니다. 포인터와는 다르게 값이 아니기 때문에 레퍼런스 변수의 주소값을 알 수 없으며, 또한 참조 대상을 교체할 수도 없습니다.
[!question] 함수의 인자로 int & 변수를 넘겨줬다고 해봅시다. 컴파일러는 이것을 어떻게 처리할까요?
[!question]
const T &
와T &
의 차이점에 대해서 설명해 주세요레퍼런스 배열의 특징에 대해서 설명해 주세요.
레퍼런스 배열은 언어 차원에서 막아버렸습니다. 레퍼런스는 값이 아니기 때문에 메모리 상에서 존재하지 않을 수도 있기 때문입니다.
[!question] 어라? 레퍼런스 '변수'가 메모리 공간을 차지하지 않는 경우는 언제인가요?
동일한 스코프에서 선언된 변수를 참조할 땐 컴파일 과정에서 참조자가 생략되고 본래 변수를 직접 가리키게 됩니다.
- [ ] 컴파일 된 바이너리 결과를 확인할 필요가 있다.
[!question] 레퍼런스가 메모리 상에서 반드시 존재해야 하는 경우는 어떤 상황이 있나요?