by Nicolai Josuttis
About the book
On 260 pages (yes, it is that complicated if you want to deal with all the details), Nicolai Josuttis introduces and explains all aspects of C++ move semantics:
- Intuitive motivation
- Compelling examples
- Tricky details
The book covers all aspects of move semantics:
- From std::move() and rvalue references
- Over reference qualifiers, invalid moved-from states, and value categories
- Up to tricky details in generic code using std::forward(), universal/forwarding references, auto&&, and decltype(auto).
Additional chapters about move-only types and the support of move semantics in the C++ standard library help to understand and use standard types in practice.
See cppmove.com for a detailed list of all topics covered.