Thus, a subscripting expression
x[y]
is interpreted as
x.operator[](y)
for a class object
x
of type
T
if
T::operator[](T1)
exists and if the operator is selected as the best match function by
the overload resolution mechanism ([over.match.best]).