(比較して探してみよう)
//とんでもないポカやらかした方
if(m_AudioContainer.size() == 0){ //コンテナ内に要素が一つもなかったら作って返す(要素のチェックがあるので何も入っていない時の処理が必須)
Media* Data = new Media();
char* pFilename = StringfromCString(filename);
Data->LoadFile(pFilename);
m_AudioContainer[filename] = Data;
return m_AudioContainer[filename];
}
for(m_AudioIterator = m_AudioContainer.begin() ; m_AudioIterator != m_AudioContainer.end() ; m_AudioIterator++){
//KEYにすでに登録済みのFileNameがあったら、そのKEYに紐付けられたDATAのアドレスを返し、なければ作る。
if((m_AudioIterator->first) == filename ){
return m_AudioIterator->second;
}else{
//KEYに紐付けられたデータが無ければ新規で作って登録
Media* Data = new Media();
char* pFilename = StringfromCString(filename);
Data->LoadFile(pFilename);
m_AudioContainer[filename] = Data;
return m_AudioContainer[filename];
}
}
if(m_AudioContainer.size() == 0){ //コンテナ内に要素が一つもなかったら作って返す(要素のチェックがあるので何も入っていない時の処理が必須)
Media* Data = new Media();
char* pFilename = StringfromCString(filename);
Data->LoadFile(pFilename);
m_AudioContainer[filename] = Data;
return m_AudioContainer[filename];
}
for(m_AudioIterator = m_AudioContainer.begin() ; m_AudioIterator != m_AudioContainer.end() ; m_AudioIterator++){
//KEYにすでに登録済みのFileNameがあったら、そのKEYに紐付けられたDATAのアドレスを返し、なければ作る。
if((m_AudioIterator->first) == filename ){
return m_AudioIterator->second;
}
}
//KEYに紐付けられたデータが無ければ新規で作って登録
Media* Data = new Media();
char* pFilename = StringfromCString(filename);
Data->LoadFile(pFilename);
m_AudioContainer[filename] = Data;
return m_AudioContainer[filename];
最後の最後にデバックで使っているタスクマネージャーの設定写真を上げてみる。
タスクマネージャーでメモリを見るのは鉄板
追記:就活浪人確定しました。