shared_ptr 主动析构
时间: 2023-10-29 17:08:17 浏览: 68
shared_ptr
shared_ptr是C++11中的一个智能指针,它可以自动管理动态分配的内存,避免了手动释放内存的繁琐过程。当一个shared_ptr对象的引用计数为0时,它会自动释放所管理的内存。而shared_ptr的主动析构是指在对象的生命周期内,手动调用其析构函数,使其引用计数减1,从而可能导致对象的内存被释放。在shared_ptr的析构函数中,会调用_Decref()函数,该函数会将引用计数减1,如果引用计数为0,则会释放所管理的内存。因此,如果在对象的生命周期内手动调用shared_ptr的析构函数,可能会导致内存被提前释放,从而引发程序错误。
阅读全文