인프런 커뮤니티 질문&답변

davidkjcy님의 프로필 이미지
davidkjcy

작성한 질문수

C개발자를 위한 최소한의 C++

네가지 형변환 강의 질문

해결된 질문

작성

·

161

·

수정됨

0

제가 c++ 강의를 보면서 무언가 빼먹은거 같아서 질문을 드려봅니다...

강의 설명 중 3분즈음에 등장하는 const_cast를 설명하실 때 궁금한 내용입니다.

const MyData& rdata = a; 일때

rdata의 멤버접근을 할 수 있는거는 const 키워드가 붙은것만 가능하다고 하셨는데

그 자세한 이유가 궁금합니다 <상수형 참조가 상수형 메서드만 호출>

 

답변 1

0

널널한 개발자님의 프로필 이미지
널널한 개발자
지식공유자

상수형 참조자를 이용해 인스턴스에 접근할 경우 l-value가 될 수 없으며 상수화된 메서드만 접근이 가능하도록 제한됩니다. 이는 언어의 문법이 그러한 것입니다. 이를 통해 우연히 발생할 수 있는 실수(멤버 값 변경)를 미리 문법적으로 차단 할 수 있습니다. 더 자세한 설명이 필요 할 수도 있겠으나 지금 당장은 문법이 그러하다는 사실을 기계적으로 암기하는 편이 더 간단하고 좋겠습니다. 참고하시기 바랍니다. 😄

davidkjcy님의 프로필 이미지
davidkjcy

작성한 질문수

질문하기