C++: Using the Move Constructor & Move Assignment Operator
References are an important part of C++ and a little-known fact about references is that there are actually two types of references: l-value and r-value. In this course explore those two reference types by learning how to use the syntax and semantics of r-value references to extend the lifespan of transient values. Then implement the move assignment operator and move constructor using r-value references as their input arguments to reduce the number of unnecessary copies created in your C++ programs. Finally work with Resource Acquisition Is Initialization (RAII) to use smart pointers as a way to bypass complex rules such as the rule of three and the rule of five allowing you to follow the simplest rule of all – the rule of 0.