데이터 동적 할당 Collection class
데이터 동적할당 목적 효율적인 메모리 관리 버퍼오버플로우(Buffer Overflow) 방지 데이터 삽입, 수정, 삭제 용의
데이터 동적할당 방법 메모리 동적할당 (malloc) - 자료형 변수형 할당가능. - (int, char, short, double, struct …) Collcetion Class 이용 - C++, C#등 객체지향 개념, 사용의 편의. - (CArray, CList, CMap)
Collection Class 란? 특정한 방식으로 구성된 임의 개수의 데이터 집합 종류 - CArray - CList - CMap
CArray 순서가 매겨진 요소들의 집합 정수 색인 값을 통해 접근 가능 배열 컬랙션의 크기가 유동적 속도가 비교적 느림
CList 순서가 있는 데이터 항목의 집합 Doubly-linked list로 구현 데이터의 삽입, 수정, 삭제가 비교적 빠름 데이터 검색 속도는 비교적 느림
CMap 순서가 없는 데이터 항목의 집합 키 값을 통해서 각각의 컬랙션에 접근 데이터 검색이 비교적 빠름 순차적 접근은 배열이 빠름
CArray, CList, CMap 비교 형태 순차적 인덱스 요소 삽입 특정 요소 검색 중복 List Yes No Fast (일정시간) Slow O(n) Array By int (일정시간) Slow, O(n) Fast, inserting end Map By key (일정시간) No (keys) Yes (Value)
주요함수 클래스 함수명 설명 CList CArray CMap AddTail() GetNext() InsertAfter() GetCount() 리스트 마지막에 요소를 삽입 다음 요소로 리스트 이동 다음 위치에 요소 삽입 리스트 전체 개수 획득 CArray Add() RemoveAll() 객체를 배열에 저장 전체 배열을 삭제 배열 전체 길이 획득 CMap SetAt() Lookup() 객체를 저장 맵에서 요소를 찾기 맵에 저장된 모든 객체를 삭제