2026-04-25 18:31:52.609332+08
Explain the difference between unique_ptr, shared_ptr, and weak_ptr in C++20. Provide a code example demonstrating how to use them to manage object lifetimes in a simple game engine scene graph without causing circular dependencies.