<array>

Yongs12 ㅣ 2023. 7. 7. 15:59

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) 배열의 모든 요소를 해당 값으로 채운다.

 

'C, C++' 카테고리의 다른 글

<map>, <set>  (0) 2023.07.10
<string>  (0) 2023.07.08
<queue>  (0) 2023.07.06
<stack>  (0) 2023.07.05
<list>  (0) 2023.07.04