std::map
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(); } |