File tree Expand file tree Collapse file tree 1 file changed +14
-0
lines changed Expand file tree Collapse file tree 1 file changed +14
-0
lines changed Original file line number Diff line number Diff line change @@ -1919,6 +1919,20 @@ mutate(copy v); // Pass a copy
1919
1919
assert v[0] == 1; // Original was not modified
1920
1920
~~~~
1921
1921
1922
+ ### Unary move expressions
1923
+
1924
+ ~~~~~~~~ {.ebnf .gram}
1925
+ move_expr : "move" expr ;
1926
+ ~~~~~~~~
1927
+
1928
+ A _ unary move expression_ is similar to a [ unary copy] ( #unary-copy-expressions ) expression,
1929
+ except that it can only be applied to an [ lvalue] ( #lvalues-rvalues-and-temporaries ) ,
1930
+ and it performs a _ move_ on its operand, rather than a copy.
1931
+ That is, the memory location denoted by its operand is de-initialized after evaluation,
1932
+ and the resulting value is a shallow copy of the operand,
1933
+ even if the operand is an [ owning type] ( #type-kinds ) .
1934
+
1935
+
1922
1936
### Call expressions
1923
1937
1924
1938
~~~~~~~~ {.abnf .gram}
You can’t perform that action at this time.
0 commit comments