Tengo una clase C++ que sobrecarga operator[]
, el operador de subíndices/corchetes de la matriz. Esto es muy conveniente fuera de mi clase, donde puedo escribir foo[bar
]. Sin embargo, no puedo entender cómo usar esta notación cuando estoy implementando los métodos dentro de mi clase.C++: forma conveniente de acceder al operador [] desde dentro de la clase?
Sé que puedo escribir operator[](bar)
o this->operator[](bar)
pero son bastante difíciles de manejar y le quitan mucha comodidad al operador en primer lugar. (También sé que puedo agregar un nuevo método que llame al operador.) ¿Hay alguna manera de escribir this[bar]
o this->[bar]
o algo similar?
Nota: Esta pregunta puede también aplicarse a los muchos operadores unitarios, pero yo personalmente sólo se preocupan por operator[]
(por ejemplo, ¿cómo puedo llamar foo++
desde dentro de la clase?).
Editar: Me di cuenta poco después de publicar que puedo usar (*this)[bar]
. Todas las respuestas hasta ahora han sugerido esto también. ¿Hay otras alternativas?
Agregó un truco sintáctico de azúcar que podría gustarle (pero no es una solución estándar) –