下图显示了指向一个内存位置的几个 shared_ptr 实例:
看上面的例子,使用 std::shared_ptr 时,会涉及两次内存分配:一次分配共享资源对象;一次分配控制块。C++ 标准库提供了 std::make_shared 函数来创建一个 shared_ptr 对象,只需要一次内存分配。
作者:linjinhe
链接:https://www.jianshu.com/p/30492ff4c87d
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
参考资料