我有一个重载的C++类,operator[]
数组下标/括号运算符.这在我班级以外非常方便,在那里我可以写foo[bar
].但是,当我在我的类中实现方法时,我无法弄清楚如何使用这种表示法.
我知道我可以写operator[](bar)
,this->operator[](bar)
但这些都相当笨重,并且首先会带走操作员的许多便利.(我也知道我可以只添加调用操作的新方法.)有没有一种方法我可以写this[bar]
或this->[bar]
或一些类似的好看?
注意:这个问题也可能适用于许多一元运算符(例如,我如何foo++
从课堂内调用?),但我个人只关心operator[]
.
编辑:我发布后很快意识到我可以使用(*this)[bar]
.到目前为止,所有答案都表明了这一点.还有其他选择吗?
(*this)[bar];
对我来说很好.