長時間の読者初回質問質問者。 私はfutureEvents.getNextEvent()のようなものに行きたいと思うFutureEventクラスのオブジェクトのリストを持っています。これは現在、私はこれが私の主要なメモリリークの原因であると私は思う新しい呼び出しのために動作します。どんな助けでも大歓迎です。そうでなければ、ポインタを次のイベントに戻すことができます。あなたはこの関数の結果どこにもないdelete
を行う場合のおかげリストからオブジェクトへのポインタを返す
EVENT* FutureEvent::getNextEvent()
{
EVENT* nextEvent = new EVENT;
*nextEvent = futureEvents.front();
futureEvents.pop_front();
return nextEvent;
}
また、コードを整理するのに役立つメソッドパラメータにEVENT *を設定することもできます。メソッドを呼び出す人は、結果を格納するためのデータ構造を提供する必要があります。つまり、メモリを割り当てて解放することになります。 –
ありがとうございました。大いに感謝しています –
http://www.cplusplus.com/reference/stl/list/pop_front/によると、pop_frontを呼び出すと削除される要素のデストラクタが呼び出されます。このポイントの後にオブジェクトにアクセスすると、未定義の動作が発生する可能性があります。 – dtyler