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 |