• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

강의 시간 12:45에 작성된 함수const stirng& getValue() const{...} 에 대해서 질문드립니다.

24.01.08 13:57 작성 조회수 121

1

const string& getValue() const 이부분에서 함수 이름 뒤에 위치한 const는 getValue함수 내부에서 멤버 변수의 값을 변경하지 않겠다는 의미인것은 이해 할 수 있습니다. 하지만 함수이름 앞에 const string& 은 잘 이해가 가지 않습니다.

string타입의 멤버 변수의 주소를 변경하지 않겟다라는 의미 인가요?

답변 1

답변을 작성해보세요.

1

Soobak님의 프로필

Soobak

2024.01.09

안녕하세요, 답변 도우미 Soobak 입니다.

 

const string& getValue() const; 에서, const string& 부분의 const 는 반환되는 문자열에 대한 참조가 상수임을 나타냅니다.
이는 해당 함수가 반환하는 string 객체의 내용을 변경할 수 없으며, 읽기 전용이라는 것을 의미합니다.
즉, 객체의 복사본을 만들지 않고 직접 참조를 반환함으로써 성능을 최적화할 수 있으며, const 키워드를 사용함으로써 함수 호출 시 멤버 변수의 내용을 실수로 변경하는 것을 방지할 수 있습니다.

강의 6.15 참조와 const 의, 2:50 부분 경, const 참조자를 함수의 매개 변수로 선언할 때의 장점에 대한 교수님 설명을 참고해보시면 이해에 더욱 도움이 되실 것 같습니다.