std::shared_ptr
是 C++11 中引入的智能指针,用于管理动态分配的对象。std::shared_ptr
会自动计数对象的引用次数,当引用次数为 0 时,会自动释放对象的内存。
builder.reset()
的含义是将 builder
指向的对象的引用计数减 1。如果此时引用计数为 0,则会自动释放对象的内存。如果 builder
本来就是空指针,则不会有任何影响。
需要注意的是,如果 builder
指向的对象还有其他的 std::shared_ptr
共享所有权,那么即使调用了 builder.reset()
,对象的内存也不会被释放,直到所有的 std::shared_ptr
都被销毁。