CppCon 2025 Back to Basics: Move Semantics -- Ben Saks
Registration is now open for CppCon 2026! The conference starts on September 12 and will be held in person in Aurora, CO. To whet your appetite for this year’s conference, we’re posting videos of some of the top-rated talks from last year's conference. Here’s another CppCon talk video we hope you will enjoy – and why not register today for CppCon 2026!
Back to Basics: Move Semantics
by Ben Saks
Summary of the talk:
While many C++ programmers are familiar with the broad idea of move semantics, even experienced C++ programmers often struggle with the fine details. For example, many programmers are unclear on exactly when an object is considered implicitly movable and when std::move() is required to make the object movable. This is especially unfortunate because using std::move() when it's unnecessary sometimes degrades performance.
This session starts by explaining how move semantics can substantially improve performance for certain types. It then shows how to implement a type with move semantics, and explores some important design issues in creating these types. After that, it explains how types like std::vector<T> can operate much more efficiently on objects of types that support move semantics.
You'll leave this session with a clearer understanding of:
- how to implement move-semantic types,
- how to take maximum advantage of move-semantic types, and
- how move semantics are related to other language features like return-value optimization.

Registration is now open for CppCon 2026! The conference starts on September 12 and will be held 
Registration is now open for CppCon 2026! The conference starts on September 12 and will be held