cpp/memory/weak ptr/swap2/example