# Perplexity AI - Move Semantics in C++ (Highlights) ![rw-book-cover|256](https://ppl-ai-public.s3.amazonaws.com/static/img/pplx-default-preview.png) ## Metadata **Review**:: [readwise.io](https://readwise.io/bookreview/56173760) **Source**:: #from/readwise #from/reader **Zettel**:: #zettel/fleeting **Status**:: #x **Authors**:: [[Perplexity AI]] **Full Title**:: Move Semantics in C++ **Category**:: #articles #readwise/articles **Category Icon**:: 📰 **URL**:: [www.perplexity.ai](https://www.perplexity.ai/search/explain-move-semantics-in-c-E2eMHqjcSuO4C6N2QSF7zg) **Host**:: [[www.perplexity.ai]] **Highlighted**:: [[2025-11-11]] **Created**:: [[2025-11-15]] ## 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