0

C++ オブジェクトで float のベクトルのベクトルを使用すると、iOS でメモリ リークが発生します。

私のオブジェクトの宣言では:

class object {
    // ...
    vector< vector < float > > m_vBuffers;
}

そしてコンストラクターで:

m_vBuffers.resize( uNumBuffers );
for( uint iBuf= 0; iBuf < uNumBuffers; ++iBuf )
    m_vBuffers[iBuf].resize( uMaxLength );

現在、instruments は、サイズ変更操作でコンストラクターにリークがあることを示しています。どうすればこれを修正できますか?
(また、非ポインタのベクトルのベクトルを明示的に削除する必要はないと思いましたか?それは間違っていますか?)

4

1 に答える 1

0

はい、これは実際には、ベクトルではなく、オブジェクトの破壊に関する問題でした。Instruments スタック トレースについて適切に考えていませんでした。

于 2012-08-02T16:23:03.750 に答える