は私が構造を持っていると仮定します。クラスのメモリを解放するには?
struct Foo {
std::set<int> nodes;
};
Foo foo;
foo
のnodes
にいくつかの要素を挿入した後、私はnodes
が保持しているメモリを解放したい、と私はIs std::vector memory freed upon a clear?
からいくつかのインスピレーションを得ることができます
std::set<int>().swap(foo.nodes)
メモリを適切に解放しますか?
私の質問は、how to free memory from a setとは異なります。 int
は組み込み型なので、ポインタとして削除することはできません。ポインタはhow to free memory from a setとみなされます。
ところで、clear()
はメモリを解放してはならない。
[メモリからメモリを解放する方法](http://stackoverflow.com/questions/3779138/how-to-free-memory-from-a-set) – Dutow
@Dutow 'set is isポインタのセットではなく、http://stackoverflow.com/questions/3779138/how-to-free-memory-from-a-setと同じように削除することはできません。 –
chenzhongpu
'std :: vector'はまったく別のコンテナですが、なぜ' std :: ser'は同じ動作をしていると思いますか? – Slava