shared_ptr原理 shared_ptr的用法?

shared_ptr的用法?智能指针本身不能动态分配内存,否则它将没有存在的意义。智能指针有一个数据成员,即指针。至于类型,则取决于类模板的实现方式。此指针用于动态分配内存。堆栈中只能分配内存本身。利

shared_ptr的用法?

智能指针本身不能动态分配内存,否则它将没有存在的意义。

智能指针有一个数据成员,即指针。至于类型,则取决于类模板的实现方式。此指针用于动态分配内存。堆栈中只能分配内存本身。利用堆栈自动回收数据的特性,当系统回收数据时,调用智能指针类的析构函数,释放智能指针中指针数据成员指向的内存。例如,STD::shared uuptr

当a*a被共享uuptr被管理时,如何在func uptr中获得它自己的共享成为一个问题。如果它写为:一个新的共享将与一个ptr:local sp ua一起生成。这可能会在生命周期结束时直接释放一个。在这里,您需要使用enablesharedfromuu重写:sharedfromuu这将从弱的uptr生成自己的共享uptr。