# Perplexity AI - Move Semantics in C++ (Highlights) ![rw-book-cover|256](https://ppl-ai-public.s3.amazonaws.com/static/img/pplx-default-preview.png) ## 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