У меня есть класс С++, который перегружает operator[], оператор индексов/скобок массива. Это ужасно удобно за пределами моего класса, где я могу написать foo[bar]. Однако я не могу понять, как использовать эту нотацию, когда я реализую методы внутри своего класса.
Я знаю, что могу писать operator[](bar) или this->operator[](bar), но они довольно громоздки и, в первую очередь, отнимают много удобства оператора. (Я также знаю, что могу просто добавить новый метод, который вызывает оператор.) Есть ли способ написать this[bar] или this->[bar] или что-то подобное приятное?
Примечание. Этот вопрос может также применяться ко многим унарным операциям (например, как я могу называть foo++ из класса?), но лично я забочусь только о operator[].
Изменить: я понял сразу после публикации, что могу использовать (*this)[bar]. Все ответы до сих пор также предлагали это. Существуют ли другие альтернативы?