C++: Convenient way to access operator[] from within class?

A. Rex picture A. Rex · Mar 3, 2009 · Viewed 14.9k times · Source

I have a C++ class that overloads operator[], the array subscript/brackets operator. This is awfully convenient outside of my class, where I can write foo[bar]. However, I can't figure out how to use this notation when I'm implementing methods inside my class.

I know I can write operator[](bar) or this->operator[](bar) but those are fairly unwieldy and take away a lot of the convenience of the operator in the first place. (I also know I can just add a new method that calls the operator.) Is there a way I can write this[bar] or this->[bar] or something similarly nice?

Answer

Evan Teran picture Evan Teran · Mar 3, 2009
(*this)[bar];

works fine for me.