2009-03-31 2 views
0

私のアプリケーションでは、各タイプのオブジェクトの数はAllocation Profilingでした。 boost :: shared_ptrを広範囲に使用しています。多数のsp_counted_impl_pオブジェクト

各16バイトを占有するsp_counted_impl_pオブジェクトが多数割り当てられています。 shared_ptrにはどれくらいの数のsp_counted_impl_pオブジェクトが必要ですか?誰かがアイデアを持っていますか?

答えて

2

実装では、shared_ptrに1つしか表示されません。しかし、内部的にブーストによって使用されるオブジェクトが他にも存在することに注意してください。これは、このカウントされたクラスを直接使用することも、shared_ptr自体を使用することもできます。また、boost.serializationフレームワークを使用する場合は、このクラス/メカニズムにも基づいています。とにかく、「多数」によって、そこには何人いるのですか?

+0

hmmm ...今私はshared_ptrごとに1つしかないと思いますが、私は多数のオブジェクトを収集しています!ご回答有難うございます。 –

1

shared_ptrを使用して、1つのオブジェクトをポイントする必要があります。それ以上のものがある場合は、おそらくshared_ptrを正しく使用しておらず、ダブルフリーエラーのような問題を抱えています。

+0

hmmm ...今私はshared_ptrごとに1つしかないと思うが、たくさんのオブジェクトを集めている!私は前にvalgrindを走らせました。私にはdouble以上のエラーはありませんでした。あなたの答えをありがとう。 –

+0

ポインタ以外のオブジェクトを持つことはできません。 – jpalecek

関連する問題