File tree Expand file tree Collapse file tree 1 file changed +8
-4
lines changed Expand file tree Collapse file tree 1 file changed +8
-4
lines changed Original file line number Diff line number Diff line change 131
131
An expression is an xvalue if it is:
132
132
\begin {itemize }
133
133
\item the result of calling a function, whether implicitly or explicitly,
134
- whose return type is an rvalue reference to object type,
134
+ whose return type is an rvalue reference to object type\iref { expr.call } ,
135
135
136
- \item a cast to an rvalue reference to object type,
136
+ \item a cast to an rvalue reference to object type
137
+ (\ref {expr.dynamic.cast }, \ref {expr.static.cast }, \ref {expr.reinterpret.cast },
138
+ \ref {expr.const.cast }, \ref {expr.cast }),
139
+
140
+ \item a subscripting operation with an xvalue array operand\iref {expr.sub },
137
141
138
142
\item a class member access expression designating a non-static data member
139
143
of non-reference type
140
- in which the object expression is an xvalue, or
144
+ in which the object expression is an xvalue\iref { expr.ref } , or
141
145
142
146
\item a \tcode {.*} pointer-to-member expression in which the first operand is
143
- an xvalue and the second operand is a pointer to data member.
147
+ an xvalue and the second operand is a pointer to data member\iref { expr.mptr.oper } .
144
148
\end {itemize }
145
149
In general, the effect of this rule is that named rvalue references are
146
150
treated as lvalues and unnamed rvalue references to objects are treated as
You can’t perform that action at this time.
0 commit comments