[MFC] 동적배열 CArray 사용 방법

[MFC] 동적배열 CArray 간단 설명



이번 포스팅에서는 MFC 동적배열 CArray 함수에 대해서 알아보도록 하겠습니다.

우선 MSDN에 나와있는 설명입니다.



멤버

Public 생성자

이름

설명

CArray::CArray

빈 배열을 생성합니다.


Public 메서드

이름

설명

CArray::Add

배열 끝에 요소를 추가하고 필요하면 배열을 확장합니다.

CArray::Append

배열;에 다른 배열을 추가합니다 필요한 경우 배열을 확장합니다

CArray::Copy

배열에 다른 배열을 복사하고 필요하면 배열을 확장합니다.

CArray::ElementAt

배열 내의 요소 포인터에 대한 임시 참조를 반환합니다.

CArray::FreeExtra

현재 상한을 초과하며 사용되지 않는 모든 메모리를 해제합니다.

CArray::GetAt

지정된 인덱스의 값을 반환합니다.

CArray::GetCount

이 배열에 있는 요소의 수를 가져옵니다.

CArray::GetData

배열의 요소에 대한 액세스를 허용합니다.  NULL합니다.

CArray::GetSize

이 배열에 있는 요소의 수를 가져옵니다.

CArray::GetUpperBound

유효한 최대 인덱스를 반환합니다.

CArray::InsertAt

지정한 인덱스에 요소 하나 또는 다른 배열의 모든 요소를 삽입합니다.

CArray::IsEmpty

배열이 비어 있는지 여부를 결정 합니다.

CArray::RemoveAll

이 배열의 모든 요소를 반환합니다.

CArray::RemoveAt

특정 인덱스의 요소를 제거합니다.

CArray::SetAt

지정된 인덱스의 값을 설정합니다. 배열은 확장할 수 없습니다.

CArray::SetAtGrow

지정된 인덱스의 값을 설정합니다. 필요한 경우 배열을 확장합니다.

CArray::SetSize

이 배열에 포함된 요소의 수를 설정합니다.


Public 연산자

이름

설명

operator[]

지정한 인덱스에 있는 요소를 설정하거나 가져옵니다.


설명

배열 인덱스는 항상 위치 0부터 시작 합니다. 상한 값은 수정 하거나 현재 바인딩된 이전 요소를 추가 하면 확장 배열 사용 여부를 결정할 수 있습니다. 메모리 일부 요소가 null 인 경우에 상한에 연속적으로 할당 됩니다.

 

참조 : https://msdn.microsoft.com/ko-kr/library/4h2f09ct.aspx


 

그러면 위의 내용들을 가지고 실제 코드에서 어떻게 CArray 함수를 사용하는지 아래 예제 코드를 통해서 알아보도록 하겠습니다.

 

먼저 간단히 MFC 대화상자 기반으로 프로젝트를 생성하여 주시기 바랍니다.






위와 같이 프로젝트를 생성하였다면, 아래와 같이 코드를 작성하여 주시기 바랍니다.


 

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

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

class ArrayTest

 

{

public:

 

    CString     ID;

    long        Number;

    BOOL        bReturn;

 

    void CArrayTest();

};

 

 

void ArrayTest::CArrayTest()

{

    long count;

 

    //동적 배열 설정

    CArray <ArrayTest, ArrayTest&> atParam;

 

    ArrayTest temp;

    ArrayTest getTemp;

 

    temp.ID = "Test1";

    temp.Number = 1;

    temp.bReturn = TRUE;

 

    //배열에 요소를 추가

    atParam.Add(temp);

 

    temp.ID = "Test2";

    temp.Number = 2;

    temp.bReturn = FALSE;

 

    //배열에 요소를 추가

    atParam.Add(temp);

 

    temp.ID = "Test3";

    temp.Number = 3;

    temp.bReturn = FALSE;

 

    //배열에 요소를 추가

    atParam.Add(temp);

 

    // 배열에 지정한 위치에 요소 추가

    atParam.InsertAt(1, temp);

 

    // 지정한 요소 삭제

    atParam.RemoveAt(2);

 

    //배열의 요소수 취득

    for(int i = 0; i < atParam.GetCount(); i++)

    {

        //지정한 요소 데이터 취득

        getTemp = atParam.GetAt(i);

    }

}

 

 

Colored by Color Scripter

cs


이렇게 코드로 CArray 선언부분, 배열을 동적으로 추가하는 부분, 원하는 곳에 삽입하는 부분 등을 확인하실 수 있습니다.


지금까지 MFC 동적배열 CArray 간단히 사용하는 방법에 대해서 알아보았습니다.

감사합니다^^


728x90

이 글을 공유하기

댓글

Designed by JB FACTORY