컬렉션
Mfc 라이브러리의 개체 그룹을 관리 하는 컬렉션 클래스를 제공 합니다.이러한 클래스의 두 가지 유형의 다음과 같습니다.
C + + 템플릿에서 생성 된 컬렉션 클래스
템플릿에서 생성 되지 않은 컬렉션 클래스
[!참고]
코드를 이미 비템플릿 기반 컬렉션 클래스를 사용 하는 경우를 사용 하 여 계속할 수 있습니다.자신의 데이터 형식에 대 한 새 형식 안전 컬렉션 클래스를 작성 하는 경우 최신 템플릿 기반 클래스를 사용 하는 것이 좋습니다.
컬렉션 모양
컬렉션 클래스에는 그 "모양" 및 해당 요소의 종류 특징입니다.도형 개체를 구성 하 고 컬렉션에 저장 되는 방식을 나타냅니다.MFC는 세 가지 기본 컬렉션 모양 제공: 목록, 배열 및 맵 (사전이 라고도 하는).특정 프로그래밍 문제에 가장 적합 한 컬렉션 모양을 선택할 수 있습니다.
각 세 개의 제공 된 컬렉션 도형에서는이 항목의 뒷부분에 설명 되어 있습니다.셰이프 프로그램에 가장 잘 결정 하는 데 도움이 되는 기능 비교를 참조 하십시오. Recommendations for Choosing a Collection 클래스.
List
List 클래스는 순서가, 인덱스 되지 않은 이중 연결된 목록으로 구현 하는 요소를 나열 합니다."머리"와 "꼬리" 목록과 추가 또는 요소를 제거 하는 머리 또는 꼬리 또는 삽입 하거나 요소 가운데에서 삭제 매우 빠릅니다.
배열
Array 클래스는 개체의 크기, 정렬, 및 정수 인덱스 동적 배열을 제공합니다.
맵 (사전)
지도 주요 오브젝트 값 개체와 연결 된 컬렉션입니다.
템플릿 기반 컬렉션 클래스
모든 형식의 개체를 포함 하는 형식 안전 컬렉션을 구현 하는 가장 쉬운 방법은 MFC 템플릿 기반 클래스 중 하나를 사용 하는 것입니다.이들이 클래스의 예제를 보려면 MFC 샘플을 참조 하십시오. 수집.
다음 표에서 MFC 템플릿 기반 컬렉션 클래스를 보여 줍니다.
컬렉션 템플릿 클래스
컬렉션 내용 |
배열 |
목록 |
맵 |
---|---|---|---|
모든 형식의 개체 컬렉션 |
CArray |
CList |
CMap |
모든 형식의 개체에 대 한 포인터 컬렉션 |
CTypedPtrArray |
CTypedPtrList |
CTypedPtrMap |
비템플릿 기반 컬렉션 클래스
응용 프로그램에 이미 MFC 비템플릿 기반 클래스를 사용 하는 경우에 사용 하 여 계속할 수 있습니다.그러나 새 컬렉션에 대 한 템플릿 기반 클래스를 사용 하는 것이 좋습니다.다음 표에서 템플릿을 기반으로 하지 않는 MFC 컬렉션 클래스를 나열 합니다.
비템플릿 기반 컬렉션 클래스
배열 |
목록 |
맵 |
---|---|---|
CObArray |
CObList |
CMapPtrToWord |
CByteArray |
CPtrList |
CMapPtrToPtr |
CDWordArray |
CStringList |
CMapStringToOb |
CPtrArray |
|
CMapStringToPtr |
CStringArray |
|
CMapStringToString |
CWordArray |
|
CMapWordToOb |
CUIntArray |
|
CMapWordToPtr |
MFC 컬렉션 클래스 특성 테이블에서 Recommendations for Choosing a Collection 클래스 MFC 컬렉션 클래스 (shape) 이외의 이러한 특징의 관점에서 설명 합니다.
C + + 템플릿 클래스를 사용 하는지 여부
컬렉션에 저장 된 요소를 serialize 할 수 있는지 여부
진단 유틸리티에 대 한 컬렉션에 저장 된 요소에 덤프할 수 있습니다 여부
컬렉션의 형식이 안전한 지 여부