C++ Object Lifetime

An object’s lifetime begins when its initialization is complete and ends when its destructor starts or its storage is released, depending on the object. Pointers and references do not extend lifetime unless an owning mechanism does so explicitly.