1. 说说 C++ 智能指针的种类和区别,shared_ptr 的引用计数是如何实现的?unique_ptr:独占所有权,不可拷贝只能移动,开销与裸指针几乎相同,是首选的智能指针shared_ptr:共享所有权,内部维护引用计数,计数归零时自动释放资源weak_ptr:弱引用,不增加引用计数,用于打破 shared_ptr 的循环引用,使用前需 lock() 升级为 shared_ptrshared_ptr 引用计数实现:内部有一个控制块(control block),存放强引用计数、弱引用计数和删除器拷贝 shared_ptr 时强引用计数加一,析构时减一,减到 0 时销毁对象弱引用计数归零...