STL에 있는 배열을 만드는 컨테이너이다.
C언어에서 사용하던 배열방식에서 확장되어 c++11에 추가 되었다.
고정 배열로 만들어지기에 타입과 함께 배열 갯수를 인자로 받는다.
다른 STL과 같이 템플릿으로 만들어져있어 모든 타입에 대한 배열을 만들 수 있으며
반복자와 같은 인터페이스를 사용할 수 있고 범위 검사 기능을 제공한다.
#include <iostream>
#include <array>
int main()
{
std::array<int, 10> array = {0};
// 배열의 모든 요소를 해당 값으로 채운다.
array.fill(10);
// C방식으로 접근이 가능하지만 at()를 통해 범위 검사기능을 쓸 수 있다.
//array[1];
const int firstData = array.at(0);
// 배열의 크기를 반환한다.
const size_t size = array.size();
// iterator 사용 가능
std::array<int, 10>::iterator arrayIter = array.begin();
// iterator를 통해 안정적으로 순회를 돌 수 있다.
for (; arrayIter != array.end(); ++arrayIter)
{
std::cout << *arrayIter << std::endl;
}
return 0;
}
std::array의 내장함수 시간복잡도
| 함수 | 시간 복잡도 | 설명 |
| at() | O(1) | 배열의 특정 인덱스 값을 반환 |
| size() | O(1) | 배열의 사이즈를 반환 |
| fill() | O(n) | 배열의 모든 요소를 해당 값으로 채운다. |