Understanding Object Lifetime

“Understanding Object Lifetime” is a one-day training course with programming exercises taught by Jason Turner. It is offered at the Gaylord Rockies from 9AM to 5PM on Saturday, September 21st (immediately following the conference). Lunch is included.

Course Description

C++ has something very few other languages have: a well defined object life cycle. Understanding this key aspect of C++ is critical to writing clean, maintainable, and efficient C++.


Participants should have a beginner to intermediate knowledge of C++.

Course Topics

  • Understanding RAII
  • What does the standard say?
  • Member variable lifecycle
  • How and why to limit variable scope
  • The as-if rule
  • std::move and std::forward
  • Passing values
  • Returning values
  • Lifecycle of lambda captures
  • How the C++ memory model and object lifetime relate
  • Gotchas
  • What changed in C++17

Course Instructor


Jason Turner is a regular speaker at C++ conferences, the creator of the “Learning C++ Best Practices” video series from O’Reilly and the http://cppbestpractices.com online C++ coding standards document. As a contractor, speaker and trainer he has specialized in helping others produce high quality C++ code. Jason is also the co-host of the C++ podcast, CppCast, and the host of the YouTube video series, C++ Weekly.