24 lines
1.2 KiB
Markdown
24 lines
1.2 KiB
Markdown
[over.ref]
|
||
|
||
# 12 Overloading [[over]](./#over)
|
||
|
||
## 12.4 Overloaded operators [[over.oper]](over.oper#over.ref)
|
||
|
||
### 12.4.6 Class member access [over.ref]
|
||
|
||
[1](#1)
|
||
|
||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/overloading.tex#L3687)
|
||
|
||
A [*class member access operator function*](#def:operator_function,class_member_access "12.4.6 Class member access [over.ref]") is a function named operator-> that is a non-static member function taking no non-object parameters[.](#1.sentence-1)
|
||
|
||
For an expression of the form
|
||
|
||
[*postfix-expression*](expr.post.general#nt:postfix-expression "7.6.1.1 General [expr.post.general]") -> templateopt [*id-expression*](expr.prim.id.general#nt:id-expression "7.5.5.1 General [expr.prim.id.general]")
|
||
|
||
the operator function
|
||
is selected by overload resolution ([[over.match.oper]](over.match.oper "12.2.2.3 Operators in expressions")),
|
||
and the expression is interpreted as
|
||
|
||
( [*postfix-expression*](expr.post.general#nt:postfix-expression "7.6.1.1 General [expr.post.general]") . operator -> () ) -> templateopt [*id-expression*](expr.prim.id.general#nt:id-expression "7.5.5.1 General [expr.prim.id.general]")
|