티스토리 뷰
MFC 템플릿 배열 클래스 Collection CArray
배열클래스
동일한 자료형의 데이터를 연속된 메모리 공간에 저장하는 자료구조
템플릿클래스
afxtempl.h 필요
원하는 종류의 데이터 타입을 프로그래머가 결정할 수 있다. 또한 템플릿클래스는 비템플릿클래스가 제공하는 모든 기능을 구현가능하다.
템플릿 배열 클래스
CArray<CPoint, CPoint&> array; // CPoint형 배열
비템플릿 클래스
CByteArray BYTE형 CByteArray array;
CWordArray WORD형 CWordArray array;
CDWordArray DWORD형 CDWordArray array;
CUIntArray UINT형 CUintArray array;
CStringArray CString형 CStringArray array;
CPtrArray void포인트형 CPtrArray array;
CObArray CObject 포인터형 CObArray array;
array.SetSize(int) 로 배열 크기 지정
비템플릿 클래스에서 제공하는 자료형이 아닌 경우(구조체 등) 템플릿 클래스를 사용
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 |
#include <afxtempl.h>
struct Point3D {
int x, y, z;
Point3D() {} // 템플릿 클래스를 사용할 경우 반드시 기본 생성자 있어야 한다
Point3D(int x1, int y1, int z1)
{
x = x1;
y = y1;
z = z1;
}
};
CArray<Point3D, Point3D&> array;
array.SetSize(5);
for(int i=0; i<5; i++)
{
Point3D pt(i, i*10, i*100);
array[i] = pt;
}
|
cs |
<참고> t : http://petra.tistory.com/570