반응형
c++11에 추가된 고정 크기 배열이다.
C언어 배열을 대체할 수 있다.
#include <iostream>
#include <array>
int main()
{
std::array<int, 5> arr1 {1,2,3,4,5};
std::array<int, 5> arr2 {}; // 모든 요소 0으로 초기화
//범위 기반 for
for(int i : arr1) std::cout << i << std::endl;
//전통적인 for문
for(std::array<int,5>::iterator i = arr2.begin(); i != arr2.end(); i++) std::cout << *i << std::endl;
//요소 복사, arr1 {1,2,3} -> arr2로 복사
std::copy(arr1.begin(), arr1.begin() + 3, arr2.begin());
return 0;
}
장점
1. 안전성: 배열의 크기를 컴파일 시간에 결정한다. 따라서 범위를 벗어나는 인덱스 접근을 컴파일러가 잡아낼 수 있다.
2. STL과의 호환성: 다른 STL 컨테이너와의 유사한 인터페이스를 제공하고, STL 알고리즘(std::find, std::sort 등)과 결합하여 사용할 수 있다.
반응형
'C&C++' 카테고리의 다른 글
| [C++11] constexpr (0) | 2024.06.23 |
|---|---|
| [C++11] nullptr (0) | 2024.06.23 |
| [C++11] 범위 기반 for (range-based for loop) (0) | 2024.06.23 |
| [C++11] auto (0) | 2024.06.23 |
| [C++11] 중괄호 초기화 리스트 (initializer list) (0) | 2024.06.23 |