# Perplexity AI - Move Semantics in C++ (Highlights)

## Highlights
- **Lvalues** are named objects with stable memory addresses that exist beyond a single expression. ([View Highlight](https://read.readwise.io/read/01k9r3c6qcb87tbgr552dbj9f5)) ^956313824
- **Rvalues** are temporary values that are about to disappear, such as the result of expressions or literal constants. ([View Highlight](https://read.readwise.io/read/01k9r3casbcw2cay899gyv7c9z)) ^956313837
- The **rvalue reference** (declared with `&&`) is the core syntax that enables move semantics ([View Highlight](https://read.readwise.io/read/01k9r3cx2g4mndss4snvjzdevc)) ^956313850
- Despite its name, **std::move does not actually perform a move**. Instead, it's a cast that converts an lvalue into an rvalue reference, signaling that the object can be moved from ([View Highlight](https://read.readwise.io/read/01k9r3fxq9c8jzp3e1qx3x6b51)) ^956313971