2017-11-23 15 views
1

私はベクトルの動的ベクトルを持っています:vector< vector <CelMap> > celsここでCelMapはタイプクラスのオブジェクトです と私はメモリを解放する必要があります。どのようにそれを行うことができますか?どのようにベクトルのベクトルのメモリの割り当て解除

+2

「私はメモリを解放する必要がありますか?」とはどういう意味ですか、それは本当に不正確です。スコープ外に出ると、 'cels'はそのデストラクタを呼び出し、次に含まれているすべてのオブジェクトのデストラクタを呼び出します。また、たぶんニトウキビですが、 "静的な"ベクトルがなく、 'std :: vector'は' std :: vector.'です。 – luk32

答えて

0

shrink_to_fitは、割り当てられていれば、その時点でベクトルが占有している正確なメモリに割り当てられたメモリを減らすことができます。

ベクトルは、使用するよりも多くのメモリを割り当てます。これは、capacityで検査され、reserveで増加します。

shrink_to_fitは、実際のベクトルサイズに割り当てられたメモリを削減するための要求であり、それは許可の実装依存であり、

未使用容量の除去を要求します。容量()をsize()に減らすのは、拘束力のない要求 です。 の要求が満たされた場合は実装に依存します。

関連する問題