Array Class
		하나의 연속된 재할당 버퍼를 사용하는 랜덤 컨테이너입니다.
	
template <class Type>
class Array : public RandomContainer< Type >
Template 파라미터
- Type
 - 
		Array가 저장하는 항목들의 타입입니다.
	
 
멤버
생성자
내용 관리
| Swap | 
		두 Array들의 내용을 교환합니다.
	 | 
내용 쿼리
| Enumerate | 
		Array 내용의 열거를 허용합니다.
	 | 
| Begin | 
		Array의 1번째 항목을 참조하는 반복자(iterator)를 리턴합니다.
	 | 
| End | 
		Array의 마지막 직전 항목을 참조하는 반복자(iterator)를 리턴합니다.
	 | 
성능 튜닝
Public 타입
설명
		Array는 항목들을 하나의 연속된 메모리 버퍼에 저장하는 RandomContainer 구현입니다.
		public 메소드들은 비-가상이며 적절한 경우 인라인입니다.
		
		랜덤 컨테이너 구현 중에서 Array는 다음 장점을 갖고 있습니다:
		
			- 가장 빠른 항목 접근이 가능합니다. (예. operator[])
 
			- 항목들에게 저장 오버헤드를 부과하지 않습니다: 항목 저장 셀의 총 비용은 항목의 물리적 크기와 같습니다.
 
			- 메모리를 거의 할당하지 않고 하나의 메모리 버퍼만 저장합니다.
 
			- 가장 작은 자체 크기를 갖고 있습니다: 현재는 16 바이트입니다.
 
		
		랜덤 컨테이너 구현 중에서 Array는 다음 단점을 갖고 있습니다:
		
			- 새 항목이 내부 버퍼에 맞지 않을 때 더 큰 버퍼가 할당되고 모든 항목들은 복사 생성자를 통해 새로운 버퍼에 복사되도록 재할당됩니다. 그래서 상대적으로 느릴 수 있습니다.
				새 버퍼의 크기는 기존 버퍼의 2배까지 커지게 됩니다.
				사용되지 않은 메모리를 해제하기 위해 배열에서 항목들을 제거할 때에도 역시 재할당이 발생할 수 있습니다.
				이 문제는 버퍼의 4분의 1보다 작거나 같은 크기를 사용할 때 발생합니다.
				이 경우 새로운 버퍼의 크기는 기존 버퍼의 절반입니다. (필요한 것보다 더 정확하게 2배 더 큼)
 
			- 삽입 또는 삭제 지점 위의 모든 항목들이 항목에 대한 할당 연산자를 호출할 때 위, 또는 아래로 이동하기 때문에 삽입 및 삭제가 상대적으로 느릴 수 있습니다.
 
			- 메모리 활용도가 낮을 수 있습니다.
				만약 긴 시퀀스 삽입을 고려한다면, 내부 버퍼의 평균 채우기 요소는 75%가 될 것이며, 가장 낮은 채우기 요소는 50%가 될 것입니다.
				만약 긴 시퀀스 제거를 고려한다면, 내부 버퍼의 평균 채우기 요소는 37.5%가 될 것이며, 가장 낮은 채우기 요소는 25%가 될 것입니다.
 
			- 재할당 특성으로 인해, 항목들에 대한 참조들은 배열에서 다음 변경 동작이 호출될 때까지만 저장할 수 있습니다.
				(항목들의 위치 역시 삽입, 제거 시에 변경될 수 있음을 참고하십시오)
 
		
		
		
		항목들은 기본 생성자와 복사 생성자, 할당 연산자를 가져야 합니다.
		이외에도 비교 연산자(==와 !=)를 갖고 있다면, 값 종속적인 연산(예. Find, Count, Contains 등) 역시 사용할 수 있게 됩니다.
		
		다음 그림은 Array의 내부 레이아웃을 보여줍니다:
		
		
		
	
요구사항
네임스페이스: GS
헤더: Array.hpp
참고사항
		PagedArray | StableArray
	 | ArrayFB< Type, BufferCapacity >