#include <array>을 삽입해야 이용 가능하다.template<typename T, size_t N> class array
std::array<자료형, 크기> 이름;
std::array<int, 3> arr1 = {1, 2, 3}; // 생성과 동시에 초기화
std::array<int, 3> arr2 = {0}; // 모든 값을 0으로 초기화
std::array<int, 3> arr1 = {1, 2, 3};
std::array<int, 3> arr2; // 초기화를 하지 않아 쓰레기값이 들어감
arr2 = arr1;
std::array<int, 3> arr = {1, 2, 3}; 으로 선언한다고 생각한다.
| 멤버함수 사용 | 멤버함수 설명 |
|---|---|
| arr.begin() | 배열의 맨 첫번째 원소를 가르킨다.(iterator와 사용) |
| arr.rbegin() | 배열을 거꾸로 했을 때 첫번째 원소를 가르킨다.(iterator와 사용) |
| arr.end() | 배열의 맨 마지막 다음 원소를 가르킨다.(iterator와 사용) |
| arr.rend() | 배열을 거꾸로 했을 때 다음 원소를 가르킨다. |
| arr.cbegin(), cend() | const를 붙여 iterator를 이용해서 원소를 수정할 수 없다. |
| arr.crbegin(), crend() | 위의 내용과 동일하다. |
| arr.front() | 배열의 맨 앞의 원소를 반환한다. |
| arr.back() | 배열의 맨 뒤 원소를 반환한다. |
| arr.data() | 배열을 포인터 타입으로 변환한다. (배열의 첫번째 주소를 반환함) |
| arr.fill(num) | 배열의 인자를 모두 num으로 변경한다. |
| arr.swap(arr2) | arr2의 배열 인자와 arr의 배열 인자들을 순서대로 바꾼다. |
| arr.at(n) | n번째 인자를 반환한다. |
| arr[n] | n번째 인자를 반환한다. (.at()과 다르게 컴파일 타임에서 범위를 벗어난 값을 확인하지 않는다. |
| arr.empty() | 배열이 비어있는지 확인한다. |
| arr.max_size() | 배열의 최대 사이즈를 반환한다. (.size()와 같음) |
| arr.size() | 배열의 사이즈를 반환한다. (.max_size()와 같음) |
void print(std::array<int, 5> arr) {
for (auto ele : arr)
std::cout << ele << ' ';
}