티스토리 뷰

프로그래밍/MFC

MFC 템플릿 배열 클래스

에어버스 2016. 5. 14. 14:35

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

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30