셈말짓기/CTRL+C / CTRL+V

std::for_each()를 이용한 포인터 삭제

셈말짓기 2011. 4. 25. 14:08


std::for_each(m_Module.begin(), m_Module.end(), DeleteWindowObject<CVMEModuleWidget*>); 

template <typename TYPE>
static void DeleteWindowObject (TYPE p)
{
 p->DestroyWindow();
 delete p;
}

template <typename TYPE>
static void DeletePointer (TYPE p)
{
 delete p;
}

template <typename TYPE>
static void DeleteArrayPointer (TYPE p)
{
 delete []p;

 template <typename TYPE>
 static void delete_pointer_of_std_pair_second (TYPE p)
 {
  delete p.second;
 }