我在班上重载了[]运算符.有没有更好的方法从我的课堂内调用此功能(*this)[i]
?
好吧,你可以使用"operator [](i)".
在(size_t i)添加函数并使用此函数
编辑
如果你主动使用stl避免语义不一致:in std::vector operator[]
不检查索引是否有效,但是在(..)检查并且可能抛出std::out_of_range
异常.我认为在项目中有更多类似的行为会从你的班级中得到预期.
也许这个名字不是这个功能最好的名字.
不好,但明确:
this->operator[](i)
如果您发现需要执行此操作,请创建一个At()函数,该函数与operator []完全相同.然后你可以说:
this->At(i)
这可能是一个合理的妥协:
T& me = *this; // ... me[i];