// // 5.3.weak.ptr.cpp // chapter 05 start pointers and memory management // modern c++ tutorial // // created by changkun at changkun.de // https://github.com/changkun/modern-cpp-tutorial // #include #include class A; class B; class A { public: std::shared_ptr pointer; ~A() { std::cout << "A was destroyed" << std::endl; } }; class B { public: std::shared_ptr pointer; ~B() { std::cout << "B was destroyed" << 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; }