[over.sub] (original) (raw)
12 Overloading [over]
12.6 Overloaded operators [over.oper]
12.6.5 Subscripting [over.sub]
A subscripting operator functionis a function named operator[]that is a non-static member function with exactly one parameter.
For an expression of the form
the operator function is selected by overload resolution ([over.match.oper]).
If a member function is selected, the expression is interpreted as
[Example 1: struct X { Z operator[](std::initializer_list<int>);}; X x; x[{1,2,3}] = 7; int a[10]; a[{1,2,3}] = 7; — _end example_]