#include #include class A; class B; class A { public: std::shared_ptr pointer; ~A() { std::cout << "A 被销毁" << std::endl; } }; class B { public: std::shared_ptr pointer; ~B() { std::cout << "B 被销毁" << std::endl; } }; int main() { std::shared_ptr a = std::make_shared(); std::shared_ptr b = std::make_shared(); a->pointer = b; b->pointer = a; return 0; }