は、ここで私はリスト内のオブジェクトを正しく削除するには?
私は機能だけで完全にフリーリストのことができるように、それは
私が見てきた、削除することで、新たな表示可能オブジェクトを置きたいと思う私のリスト
list<DisplayableObject> objects;
です消去など、私は明示的にそれらのクラスの関数は実際にメモリを解放しないようにする必要があると言う人々は、オンラインで読むとき?彼らが正しいかどう
私はいくつかのアプローチとは考えて作りました:
iter = objects.begin();
while (!objects.empty()) {
objects.remove(*iter);
}
objects.clear();
while (!objects.empty()) {
delete &objects.front();
objects.pop_front();
}
objects.clear();
while (!objects.empty()) {
delete &iter;
iter++;
}
objects.clear();
もっと良いアプローチはありますか?ありがとう
「正しいかどうかわからない」とはどういう意味ですか?サイズはあらかじめご確認の上、サイズは?あらかじめオブジェクトを印刷してから、正しいオブジェクトが削除されたかどうかを確認しましたか? – Tas
メモリが適切に解放されているかどうかわかりません。もっと簡単な方法があれば –
'std :: list'を意味しますか?それから 'clear()'だけです。 – songyuanyao