\(\texttt{array}\) Template Class
배열 템플릿 클래스
- Built-in Array Type (내재 배열형, 기본 배열형)과 마찬가지로, 고정된 크기와 고정 메모리 대입방식을 차용했으므로, 내재 배열이 지닌 것과 동일한 수준의 효율성을 가졌다.
- C++11에서 처음 도입된 템플릿 클래스이다.
- 사용하기 위해선 \(\texttt{<array>}\) 헤더파일을 포함시켜야 한다.
- \(\texttt{<vector>}\) 템플릿 클래스와 마찬가지로, \(\texttt{<array>}\) 템플릿 클래스는 \(std\) namespace에 포함되어 있다.
- 내재 배열형과 동일하게, 표준 배열 표기법을 사용할 수 있다.
- 한 프로그램에서, 내재 배열형과 \(\texttt{array}\) 템플릿은 배열 요소들을 동일한 메모리 지역에 저장시키는데 반해, \(\texttt{vector}\) 템플릿은 배열 요소들을 Heap에 저장시킨다. (자유 저장)
\(\texttt{array}\) 사용법
- \(\texttt{array}\)를 사용하기 위한 준비과정
#include <array>
using namespace std;
- \(\texttt{array}\)를 통한 배열 생성
// 일반형
array<typeName, n_elem> arr;
// vector와 달리, 매개변수 n_elem에 변수는 올 수 없다!
// 사용 예시
array<int, 5> ai;
// 5개의 Integer type 객체를 담은 array 객체 "ai" 생성
array<double, 4> ad = {1.2, 2.1, 3.43, 4.3};
// 4개의 Double type 객체를 담고 초기화시킨 array 객체 "ad" 생성
매개변수로써의 \(\texttt{array}\) 템플릿
returnType functionName (std::array<dataType, arraySize> parameter){
Statement(s)
}
// 실 사용 예시
void show (std::array<double, 4> Arr);