배열 서브 스크립트/대괄호 연산자 인 operator[]
을 오버로드하는 C++ 클래스가 있습니다. 이 수업은 수업 외에서 매우 편리합니다. foo[bar
을 작성할 수 있습니다. 그러나, 나는 내 클래스의 메소드를 구현할 때이 표기법을 사용하는 방법을 알 수 없습니다.C++ : 수업 내에서 연산자 []에 편리하게 액세스 할 수 있습니까?
나는 operator[](bar)
또는 this->operator[](bar)
을 쓸 수 있지만, 상당히 다루기가 쉽지 않으며 처음에는 운영자의 편리함을 많이 제거합니다. (나는 또한 연산자를 호출하는 새로운 메서드를 추가 할 수 있다는 것을 알고있다.) this[bar]
또는 this->[bar]
또는 비슷하게 좋은 것을 쓸 수있는 방법이 있는가?
주 : (? 예를 들어, I 클래스 내에서 foo++
를 호출하는 방법)이 질문은 또한 많은 단항 연산자에 적용 할 수있는,하지만 난 개인적으로 약 operator[]
신경.
편집 : 게시 후 곧 실현되었습니다. (*this)[bar]
을 사용할 수 있습니다. 지금까지의 모든 대답이 이것을 제안했습니다. 다른 대안이 있습니까?
당신이 좋아할만한 구문 해설을 추가했습니다. (그러나 표준 해결책은 아닙니다) –