An expression that refers to a memory location, and therefore, we can get the address via the
&operator
area = height * widthareaAn expression that is not a lvalue
area = height * widthheight * widthfoo() returns an lvaluebar() returns an rvaluei is an lvaluefoo() is an lvaluefoo()bar()swap()swap() type operationsswap() operationswap()swap() method, and it's difficult to add a method to a class that is not yoursswap() method| Type Modifier | Description |
|---|---|
A& |
lvalue reference |
A&& |
rvalue reference |


swap() Implementationstd::move()std::move() Implementationstd::move()