해결된 질문
작성
·
161
·
수정됨
0
제가 c++ 강의를 보면서 무언가 빼먹은거 같아서 질문을 드려봅니다...
강의 설명 중 3분즈음에 등장하는 const_cast를 설명하실 때 궁금한 내용입니다.
const MyData& rdata = a; 일때
rdata의 멤버접근을 할 수 있는거는 const 키워드가 붙은것만 가능하다고 하셨는데
그 자세한 이유가 궁금합니다 <상수형 참조가 상수형 메서드만 호출>
답변 1
0
상수형 참조자를 이용해 인스턴스에 접근할 경우 l-value가 될 수 없으며 상수화된 메서드만 접근이 가능하도록 제한됩니다. 이는 언어의 문법이 그러한 것입니다. 이를 통해 우연히 발생할 수 있는 실수(멤버 값 변경)를 미리 문법적으로 차단 할 수 있습니다. 더 자세한 설명이 필요 할 수도 있겠으나 지금 당장은 문법이 그러하다는 사실을 기계적으로 암기하는 편이 더 간단하고 좋겠습니다. 참고하시기 바랍니다. 😄