std::shared_ptr 的拷贝赋值运算符的含义是共享对象的拥有权,所以,此时 foo 和 bar 对象的引用计数都为 2,这也就是打印出来的计数为 2 的原因。 当退出 main 函数的时候,f 和 b 对象都会析构。f 和 b 对象析构时都会将引用计数减一。这里就是问题所在,此时 foo 对象和 bar 对象的引用计数为一,无法达...