mfc carray 예제

모든 이전 예제에서 목록의 항목은 모두 assigment = 연산자지원됩니다. 이렇게 하면 컬렉션에서 데이터를 추가하고 검색할 수 있습니다. 할당 연산자를 지원하지 않는 항목은 컬렉션에 저장할 수 있지만 수동으로 만들고 소멸해야 합니다. 개체는 새 연산자, 즉 «무료 저장소» 또는 «힙»을 사용하여 동적으로 할당되어야 하며, 이 경우 범위를 벗어나면 삭제되지 않습니다. 따라서 목록에서 제거 할 때 수동으로 삭제해야합니다. 소멸자는 종종 이 tucancode.net 수행하기에 좋은 장소입니다. 다음 예제에서는 작성, 표시 및 삭제된 PERSON 구조의 목록을 보여 줍니다. 간단한 목록 컬렉션을 사용하여 시작할 수 있습니다. 이 예는 두 배로 개최 신발 크기의 퀘를 악마 시작합니다. 아이템은 퀘의 꼬리에 추가되고 처리를 위해 머리에서 제거됩니다. 다음 예제는 배열에 두 개의 CTime 개체를 추가 한 다음 전체 배열의 내용을 표시 합니다.

주요 함수는 항목을 추가하고 배열 크기와 배열에서 데이터를 검색하는 데 사용되는 [] 연산자 증가SetAtGrow입니다. CArray와 함께 위의 예제에서 CString을 사용 했습니다. 그러나 모든 복잡한 데이터 형식은 이 MFC 컬렉션 템플릿에 저장할 수 있습니다. 목록은 배열에 대한 시뮬레이션이지만 퀘및 목록과 같은 보다 연속적인 방식으로 읽는 데이터에 최적화되어 있습니다. 빠른 시작의 예제를 참조하십시오. 간단한 목록 예제를 보다 일찍 볼 수 있습니다. 메모 항목은 목록의 머리 또는 꼬리에 추가됩니다. Retrival은 목록의 머리 또는 꼬리에서 반복 프로세스를 통해입니다. 이 형식은 컬렉션에 (STORE) 데이터를 쓰는 데 사용되는 데이터 형식을 지정하는 데 사용됩니다. 집합은 이 데이터 형식을 사용합니다. 이 형식은 TYPE 값에 대한 참조인 경우가 많습니다.

몇 가지 예가 뒤따릅니다. 초기 버전: 형식이 불량합니다. 코드 예제가 없습니다. 이론을 건너뛰고 싶다면 CArray를 사용하여 앞서 가세요. 이전 예제에서는 템플릿의 사용을 기록합니다. 두 매개 변수는 컬렉션에서 데이터를 저장하고 검색하는 방법을 정의하는 데 사용됩니다. CArray 대신 OCArray를 사용하십시오. 인수 형식은 참조로 암시되기 때문에 하나의 매개 변수만 사용합니다.

또한 CArray를 사용하지 않는다는 것을 알리는 데 도움이 됩니다. . C 배열과 비슷하지만 필요에 따라 동적으로 줄이고 늘릴 수 있는 배열을 지원합니다. 배열의 요소 수를 검색하려면 이 메서드를 호출합니다. 인덱스는 0을 기준으로 하므로 크기는 가장 큰 인덱스보다 1 큽니다. 이 메서드를 호출하면 CArray:GetSize 메서드와 동일한 결과가 생성됩니다. 이제 우리는 우리가 모든 여분의 CPU 주기로 무엇을 할 지 에 대해 생각할 수 있습니다 …… 음수 값 또는 GetUpperBound에서 반환된 값보다 큰 값을 전달하면 어설션이 실패합니다. 멤버 함수 Add를 사용하여 배열에 개체를 추가할 수 있습니다. CArray 템플릿을 사용하기 전에 CArray는 해당 유형의 개체를 수락하도록 선언해야 합니다. 이 코드 샘플은 CString을 선언하고 사용합니다. 빈 배열 또는 기존 배열의 크기를 설정합니다.

필요한 경우 메모리를 할당합니다. 배열 인덱스는 0 기반이므로 이 함수는 GetSize보다 값 1을 반환합니다. CArray 값 또는 개체의 컬렉션을 만들려면 먼저 컬렉션의 값 형식을 결정해야 합니다. 아래와 같이 int, CString, double 등과 같은 기존 기본 데이터 형식 중 하나를 사용할 수 있습니다. pNewData는 항상 모든 pData 요소를 보유할 수 있을 만큼 충분히 큽잡입니다. 이제 2번째 배열에서 요소를 검색했으며 복사 함수를 사용했기 때문에 출력이 동일하다는 것을 알 수 있습니다. 상한을 수정할지 또는 현재 바운드를 지나 요소를 추가할 때 배열이 확장될지 결정할 수 있습니다. 배열은 단일 이름을 갖는 요소 그룹으로 구성되며 인덱싱을 통해 액세스되는 데이터 구조입니다.