查询与将地址分配给共享_ptr有关

Query related to assigning an address to a shared_ptr

本文关键字:共享 ptr 有关 分配 地址 查询      更新时间:2023-10-16

我已经读到,如果我们要将共享_ptr分配给对象的已经存在的地址,那么我们需要定义一个空的自定义deleter,以便不尝试从中删除它堆。我的问题是,如果我们使用新的和另一个共享_ptr对象分配了使用一个地址的共享_ptr对象,是否会有任何问题释放堆存储器并维护参考计数等?

some_class a;
shared_ptr<some_class> b(&a, custom_deleter);
shared_ptr<some_class> c(new some_class());

这些shared_ptr S完全独立。他们都管理不同的对象,并将使用适当的deleter将这些对象使用。

都没有问题。