그래서 필자가 작성한 클래스에 대해 두 가지 버전의 대괄호 연산자를 작성해야합니다.연산자 [] 오버로드 C++
세부 정보 : 클래스에는 문자열 배열 인 개인 변수가 있습니다. operator []의 버전은 const가되어야하고 다른 버전은
입니다.이 두 버전이 실제로 어떻게 다른지, 그리고 호출 할 때 차별화 할 수있는 방법은 조금 확실하지 않습니다.
한 나는 현재
string& MyClass::operator[](unsigned int index);
단순히 인덱스의 문자열을 반환 작성했습니다.
제 질문은 하나의 const와 하나의 non-const를 갖는 점은 무엇입니까? 그리고 그들은 어떻게 서로 다를 것입니까?
편집 : 이 글을 작성해야하므로 각 함수 내의 코드는 동일합니까?
여기에서 모든 대답 읽기 : http://stackoverflow.com/questions/13479548/why-having-const-and-non-const-accessors – Salgar
@Salgar 취급 (포장 된 용기)에는 몇 가지 추가 고려 사항이 필요할 수 있습니다 ... –