我的列表类正在使用 operator[]。我可以使用这个覆盖类吗?如果有任何原因没有提供 operator[] 的列表,请解释。如果下面的代码有任何错误,请清除它。
template<class _Ty,class _Ax = std::allocator<_Ty>> class listadv : public
std::list<_Ty,_Ax>
{
// should declare in top of the class
public:
_Ty operator[](int index)
{
std::list<_Ty,_Ax>::iterator iter = this->begin();
std::advance(iter, index);
return *iter;
}
};
在标头类中定义。