C++ 大量sp\u计数的\u impl\p对象
我刚刚计算了应用程序中每种类型的对象数量。我正在广泛使用boost::shared\u ptrC++ 大量sp\u计数的\u impl\p对象,c++,boost,smart-pointers,C++,Boost,Smart Pointers,我刚刚计算了应用程序中每种类型的对象数量。我正在广泛使用boost::shared\u ptr 我发现分配了大量sp_counted_impl_p对象,每个对象占用16字节。每个共享的\u ptr可以预期有多少sp\u计数的\u impl\p对象?有人有想法吗?对于我在实现中看到的内容,每个共享\u ptr只有一个想法。但是,请注意,boost内部使用了更多的对象,这些对象可能直接使用这个计数类,也可能使用共享类本身。此外,如果使用boost.serialization框架,它也基于此类/机制。
我发现分配了大量sp_counted_impl_p对象,每个对象占用16字节。每个共享的\u ptr可以预期有多少sp\u计数的\u impl\p对象?有人有想法吗?对于我在实现中看到的内容,每个共享\u ptr只有一个想法。但是,请注意,boost内部使用了更多的对象,这些对象可能直接使用这个计数类,也可能使用共享类本身。此外,如果使用boost.serialization框架,它也基于此类/机制。不管怎么说,通过“一个大数字”,它们有多少?从实现中我可以看到,每个共享的ptr只有一个。但是,请注意,boost内部使用了更多的对象,这些对象可能直接使用这个计数类,也可能使用共享类本身。此外,如果使用boost.serialization框架,它也基于此类/机制。无论如何,通过“一个大数字”,它们有多少?使用
共享\u ptr
指向的每个对象都应该有一个。如果有更多的错误,你可能没有正确使用共享\u ptr
,你在乞求像双重自由错误这样的麻烦。使用共享\u ptr
指向的每个对象都应该有一个。如果有更多的错误,你可能没有正确地使用shared\u ptr
,你在乞求像双重免费错误这样的麻烦。hmmm。。。我现在认为我每个共享的ptr只有一个,但我收集了大量的对象!谢谢你的回答。。。我现在认为我每个共享的ptr只有一个,但我收集了大量的对象!谢谢你的回答。。。我现在认为我每个共享的ptr只有一个,但我收集了大量的对象!我以前运行过valgrind,它告诉我至少我没有双重自由错误。不过,谢谢你的回答。。。我现在认为我每个共享的ptr只有一个,但我收集了大量的对象!我以前运行过valgrind,它告诉我至少我没有双重自由错误。不过,谢谢你的回答。