반응형
std::array
- std::array는 고정 크기 배열을 캡슐화하는 컨테이너이다.
- 원소의 타입과 배열 크기를 매개변수로 사용하는 클래스 템플릿이다.
- c 스타일 배열처럼 쓸수 있는 []연산자 제공한다.
- []연산자는 빠른 동작을 위해 전달된 인덱스값이 배열의 크기보다 큰지 작은지 검사를 하지 않는다.
- at(int index)를 사용할 경우 index 값이 유효하지 않을 경우 std::out_of_range 예외를 발생시킨다.
- 반복자를 지원한다.
- 범위기반 (ranged) for문을 사용 할 수 있다.
예제
c 스타일 배열
void array1()
{
int datas[] = {1, 2, 3, 4, 5};
int size = sizeof(datas) / sizeof(int);
// [] 배열 참조
cout << datas[1] << endl;
// 반복문
for (int i = 0; i < size; ++i)
{
cout << i << ", ";
}
cout << endl;
}
std::array
void array2()
{
std::array<int, 5> datas = {1, 2, 3, 4, 5};
// [] 배열 참조
cout << datas[1] << endl;
cout << datas.at(1) << endl;
// 반복문
for (int i = 0; i < datas.size(); ++i)
{
cout << datas[i] << ", ";
}
cout << endl;
// 범위기반 반복문
for (int n : datas)
{
cout << n << ", ";
}
cout << endl;
}
반응형
'자료구조 와 알고리즘 > c++' 카테고리의 다른 글
std::list (0) | 2022.04.24 |
---|---|
std::vector (0) | 2022.04.23 |