首先,智能指针是一个类,这样就可以使用构造函数和析构函数对引用计数进行维护; 其次,它要表现出指针的行为,并且使用起来也要像普通指针一样; 最后,智能指针对任何类型都可以使用,所以它应该是一个模板。 在阅读代码的时候,可以参考智能指针原理图。 代码并不困难,并且小豆君都做了注释 #pragma once template<cl...
我们先来看看强智能指针shared_ptr循环引用所带来的问题: 显而易见,类A中有一个指向类B的shared_ ptr强类型智能指针,类B中有一个指向类A的shared_ ptr强类型智能指针 此时,有两个强智能指针指向了对象A,对象A的引用计数为2。也有两个强智能指针指向了对象B,对象B的引用计数为2。 当主函数return返回后,对象...