An example os how std::weak_ptr works