Abstract
How do you write a “simple” class? Do you include a swap? What does it mean to be movable? When should you use the noexcept specifier? What about member initializer lists?
This session explores the boilerplate of a C++11 class, covering rvalue references, move semantics, perfect forwarding, explicit, noexcept, and initializer lists. We will examine each element of the canonical class to understand when and why each piece is needed.