반응형

std::map



#include <map>

 

void map_function()

{

           using namespace std;

 

           // 선언

           typedef map< UINT, char * > HFILE_MAP;

           typedef HFILE_MAP::iterator HFILE_MAP_ITERATOR;

 

           HFILE_MAP MAP;

           HFILE_MAP_ITERATOR it;

 

           char *p1 = new char[16];

           char *p2 = new char[16];

 

           strcpy(p1, "A1");

           strcpy(p2, "A2");

 

           // 추가

           MAP.insert( HFILE_MAP::value_type( 1 , p1 ) );

           MAP.insert( HFILE_MAP::value_type( 2 , p2 ) );

          

           // 검색

           it = MAP.find( 1 );

           if ( it != MAP.end() )

           {

                     char *pFind = (char *)it->second; // "A1"

           }

           else

           {

                     // not exist

           }

 

           //순회

           for ( it = MAP.begin(); it != MAP.end(); it++)

           {

                     if ( strcmp(it->second, "A2") == 0 )

                     {

                                break;

                     }

           }

 

           // 삭제

           delete [] it->second;

           MAP.erase( it );

          

           // 순회 삭제

           for ( it = MAP.begin(); it != MAP.end(); )

           {

                     if ( it->second && IsConditionMatch )

                     {

                                delete [] it->second;

                                it->second = NULL;

                                it = MAP.erase(it++);

                     }

                     else

                     {

                               ++it;

                     }

           }

 

           // 모든항목삭제

           MAP.clear();

 

           // 항목갯수

           MAP.empty();

           MAP.size();

}

 

반응형

'C++' 카테고리의 다른 글

map 파일  (0) 2011.07.26
Format Specification  (0) 2011.04.20
std::vector  (0) 2009.08.26
strcpy_s등의 _s 류의 문자열 처리함수  (4) 2009.04.01
오버로드/오버라이드  (2) 2009.04.01

+ Recent posts