AlgoMaster Logo

Rvalue References (&&)

Last Updated: June 6, 2026

High Priority
21 min read

The previous lesson introduced move semantics as a way to transfer contents instead of copying them. This chapter covers the language machinery that makes that work: the T&& syntax called an rvalue reference, the three value categories the compiler tracks for every expression, and the overload resolution rules that decide which constructor or assignment the code actually calls. It also revisits std::move and shows it is not a special operation, but a one-line static_cast. Forwarding references look identical (T&&) but only appear in deduced contexts and behave differently, which is the job of a later lesson.

Premium Content

Subscribe to unlock full access to this content and more premium articles.