大量的sp_counted_impl_p对象

时间:2009-03-31 06:02:35

标签: c++ boost smart-pointers

我刚刚执行了Allocation Profiling,了解了我的应用程序中每种类型的对象数量。我正在广泛使用boost :: shared_ptr。

我发现分配了大量的sp_counted_impl_p对象,每个对象占用16个字节。每个shared_ptr可以预期多少个sp_counted_impl_p对象?有人有想法吗?

2 个答案:

答案 0 :(得分:2)

对于我在实现中可以看到的内容,每个shared_ptr只需一个。但是请注意,内部使用boost的对象有更多,可以直接使用此计数类或shared_ptr本身。此外,如果您使用boost.serialization框架,它也基于此类/机制。无论如何,“大量”,有多少人在那里?

答案 1 :(得分:1)

每个对象应该有一个shared_ptr指向的对象。如果它们中有更多,你可能没有正确使用shared_ptr而你正在乞求像双重免费错误这样的麻烦。