동적메모리 해제
// STL Clear시 해당 리스트에서 동적으로 할당된 객체는 자동 소멸되지 않는다.. 알아서 해제하자..

void CEngineDoc::Memory_Release(void)
{
 //플레이어 리스트 해제
 for(vPitr=m_Player_List.begin(); vPitr != m_Player_List.end(); vPitr++)
 {
  CPlayer *pItr = *vPitr;
  for(int i=0;i< pItr->iCount;i++)
  {
   for(int j=0;j < pItr->pSpriteStruct[i].iCount; j++)
   {
    if(pItr->pSpriteStruct[i].pSpriteInfo[j].m_pTexture)
    {
     pItr->pSpriteStruct[i].pSpriteInfo[j].m_pTexture->Release();
     pItr->pSpriteStruct[i].pSpriteInfo[j].m_pTexture = NULL;
    }
   }
  }
  delete (pItr);
 }
 m_Player_List.clear();
 for(vPitr=m_Player.begin(); vPitr != m_Player.end(); vPitr++)
 {
  CPlayer *pItr = *vPitr;
  delete (pItr);
 }
 m_Player.clear();
동적메모리 해제
 //NPC 리스트
 for(vNitr=m_NPC_List.begin(); vNitr != m_NPC_List.end(); vNitr++)
 {
  CNPC *pItr = *vNitr;
  for(int i=0;i< pItr->iCount;i++)
  {
   for(int j=0;j < pItr->pSpriteStruct[i].iCount; j++)
   {
    if(pItr->pSpriteStruct[i].pSpriteInfo[j].m_pTexture)
    {
     pItr->pSpriteStruct[i].pSpriteInfo[j].m_pTexture->Release();
     pItr->pSpriteStruct[i].pSpriteInfo[j].m_pTexture = NULL;
    }
   }
  }
  delete (pItr);
 }
 m_NPC_List.clear();
 for(vNitr=m_NPC.begin(); vNitr != m_NPC.end(); vNitr++)
 {
  CNPC *pItr = *vNitr;
  delete (pItr);
 }
 m_NPC.clear();
 //몬스터 리스트
 for(vMitr=m_Monster_List.begin(); vMitr != m_Monster_List.end(); vMitr++)
 {
  CMonster *pItr = *vMitr;
  for(int i=0;i< pItr->iCount;i++)
  {
   for(int j=0;j < pItr->pSpriteStruct[i].iCount; j++)
   {
    if(pItr->pSpriteStruct[i].pSpriteInfo[j].m_pTexture)
    {
     pItr->pSpriteStruct[i].pSpriteInfo[j].m_pTexture->Release();
     pItr->pSpriteStruct[i].pSpriteInfo[j].m_pTexture = NULL;
    }
   }
  }
  delete (pItr);
 }
 m_Monster_List.clear();
 for(vMitr=m_Monster.begin(); vMitr != m_Monster.end(); vMitr++)
 {
  CMonster *pItr = *vMitr;
  delete (pItr);
 }
 m_Monster.clear();
 //아이템은 아직 처리안함. 제대로 설계한 후에 stl 코드 넣기

}

내가 듣고싶은 음악
내가 들려주고싶은 음악