才疏学浅, 错漏在所难免, 尤其是智能指针想要全面实现的话属实困难, 各种bug也难以排查, 后续若有新的修改会总结为一篇更好的文章, 望多多包容....中
std::weak_ptr为了解决循环引用的问题而提出, 类似std::shared_ptr但是不会增加引用计数. std::weak_ptr没有*和->因此不能操作资源, .expired()可以检查目标资源是否被释放...智能指针与垃圾回收的区别
相关讨论: RAII vs....但是垃圾回收器的分析和执行仍然有很大的代价
垃圾回收器有时候会遇到缓存优化的问题, 而且回收的时间可能会造成停顿, 智能指针在这点上表现更好, 可以实时处理
垃圾回收器一般在单独的线程中执行, 而智能指针的回收在当前线程的析构函数中执行...// 旧的内存会由于tmp的析构而释放, 新的内存的申请也在tmp的拷贝构造中完成了
SharedPtr& operator=(const SharedPtr& copy) noexcept