Get a std::move on

Move semantics in C++

  • You cannot move from a const thing: not allowed to mutate
  • Auto-generated constructors do not have strong exception guarantees
  • Adding a custom empty destructor prevents the move constructors being generated automatically
  • Fundamental types are copied when moved as they don’t handle resources
  • Move is used when returning from a function or we make a variable an rvalue with std::move
  • && modifier indicates parameter is an object that we intend to move from instead of copying