DynamicArray 사용하기
sysdyn.h 파일에 정의되어 있는 DynamicArray 는 Object Pascal의
dynamic array 형과 유사성을 갖는 템플레이트 클래스입니다.
Dynamic Array는 말 그대로 사이즈가 조절가능한 배열입니다.
사용방법은 놀라울 정도로 간단합니다. 잘 만들어진 탬플릿 클래스의
진 면목을 보여주는데... 뭐 소스 분석은 알아서들;;;;(꼭 분석해야하나?)
byte 형의 DynamicArray 의 선언은 다음과 같습니다.
DynamicArray<byte> byteBuf;
자 이제 선언이 완료되면 어레이의 크기가 0 으로 초기화 됩니다.
어레이의 크기는 Length 프로퍼티에 크기를 assign 하면 됩니다.
byteBuf.Length = 10;
길이 10개의 바이트 배열이 만들어집니다.
만들어진 배열은 일반 배열과 같이 접근이 가능합니다.
byteBuf[0] = 'a';
byteBuf[1] = 'b';
byteBuf[2] = 'c';
byteBuf[3] = '\0';
버퍼의 초기화 역시 배열과 동일합니다만... 일반배열처럼
첫번째 바이트가 배열의 포인터가 될 수 없으므로
배열의 첫번째 번지의 주소를 명시해야합니다.
memset(&bufByte[0], 0x00, bufByte.Length);
특별히 배열의 메모리를 해제할 필요는 없지만
배열의 사용 후 길이를 0 으로 해주어
할당된 메모리를 해제해 주는 것이 좋습니다.
bufByte.Length = 0;
탬플릿의 위대함에 새삼 놀랍니다~ 헤헤
|