작성
·
241
1
const string& getValue() const 이부분에서 함수 이름 뒤에 위치한 const는 getValue함수 내부에서 멤버 변수의 값을 변경하지 않겠다는 의미인것은 이해 할 수 있습니다. 하지만 함수이름 앞에 const string& 은 잘 이해가 가지 않습니다.
string타입의 멤버 변수의 주소를 변경하지 않겟다라는 의미 인가요?
답변 1
1
안녕하세요, 답변 도우미 Soobak 입니다.
const string&
getValue() const; 에서, const string&
부분의 const
는 반환되는 문자열에 대한 참조가 상수임을 나타냅니다.
이는 해당 함수가 반환하는 string
객체의 내용을 변경할 수 없으며, 읽기 전용이라는 것을 의미합니다.
즉, 객체의 복사본을 만들지 않고 직접 참조를 반환함으로써 성능을 최적화할 수 있으며, const
키워드를 사용함으로써 함수 호출 시 멤버 변수의 내용을 실수로 변경하는 것을 방지할 수 있습니다.
강의 6.15 참조와 const 의, 2:50 부분 경, const
참조자를 함수의 매개 변수로 선언할 때의 장점에 대한 교수님 설명을 참고해보시면 이해에 더욱 도움이 되실 것 같습니다.