Move Semantics
Move Semantics lets us utilize temporary objects. We need a way of intercepting a temporary object and "steal" it's resources. In order to do that we need to distinguish between a temporary resource and a normal resource.
An example showing a use case for move semantics.
File: usage3.cpp