Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/159.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 大量sp\u计数的\u impl\p对象_C++_Boost_Smart Pointers - Fatal编程技术网

C++ 大量sp\u计数的\u impl\p对象

C++ 大量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框架,它也基于此类/机制。

我刚刚计算了应用程序中每种类型的对象数量。我正在广泛使用boost::shared\u ptr


我发现分配了大量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,它告诉我至少我没有双重自由错误。不过,谢谢你的回答。