Shift5 co-founder Josh Lospinoso kicks of the inaugural Washington DC C++ User Group Meeting with a talk about object lifetimes, resource ownership, exceptions, and copy/move semantics in C++. Combined, these ideas allow the developer to employ the powerful resource acquisition is initialization (RAII)/constructor acquires destructor releases (CADRe) paradigms.

The source material for this talk is Chapter 4 of C++ Crash Course ( The companion code can be found here:

You can follow the DC C++ User Group here:

Josh is the Chief Strategy Officer of Shift5, a cybersecurity company and author of C++ Crash Course (No Starch Press, 2019). After he graduated from USMA in 2009 with a double major in Operations Research and Economics, he won a Rhodes scholarship and completed a PhD in Statistics at the University of Oxford in 2012. As a cyber officer, Josh wrote dozens of cyber capabilities and built the C++ course that United States Cyber Command uses to teach its junior developers. He has served as a technical director in NSA’s Tailored Access Operations and in US Cyber Command’s Cyber National Mission Force. He has spoken at a wide range of conferences, published over twenty peer-reviewed articles, and co-founded a successfully acquired security company.