반응형
Array container란?
고정 길이의 배열을 표현 하기 위한 것입니다. (std::array)
c++ 11에 추가 되었으며, 이전 c++버전에서의 배열의 불편한 점을 개선한 container입니다.
array container를 사용하기 위해서는, header file include가 필요합니다.
#include <array>
Array container 생성자
array container 선언 부분은 아래와 같이 정의 되어 있습니다.
array<typename T, size_t N> class array;
위 정의에 따라, typename T에는 데이터 타입, size_t N에는 인자의 개수를 전달 해야 합니다.
아래 예제를 통해 선언 및 초기화 방법을 확인 할 수 있습니다.
// int형 데이터를 가지고, sise가 3인 array 선언, 초기화
std::array<int, 3> example1 = {1, 2, 3};
// double형 데이터를 가지고, size가 3인 array 선언, 따로 초기화 하지 않아 쓰레기값이 들어있다.
std::array<double, 3> example2;
// int형 데이터를 가지고, size가 5인 array 선언. 첫 번째 item만 1로, 나머지는 0으로 초기화
std::array<int, 5> example3 = {1};
Array container 멤버 함수
- iterator 관련 멤버 함수
함수명 | 동작 |
begin() | 배열의 첫 번째 원소의 iterator를 리턴한다. |
end() | 배열의 맨 마지막 다음 원소의 iterator를 리턴한다. |
rbegin() | 배열을 거꾸로 했을 때 첫 번째 원소의 iterator를 리턴한다. |
rend() | 배열을 거꾸로 했을 때 맨 마지막 다음 원소의 iterator를 리턴한다. |
cbegin() | 배열의 첫 번째 원소의 iterator를 const로 리턴한다. |
cend() | 배열의 맨 마지막 다음 원소의 iterator를 const로 리턴한다. |
crbegin() | 배열을 거꾸로 했을 때 첫 번째 원소의 iterator를 const로 리턴한다. |
crend() | 배열을 거꾸로 했을 때 맨 마지막 다음 원소의 iterator를 const로 리턴한다. |
- capacity관련 멤버 함수
함수명 | 동작 |
size() | 배열의 size를 리턴한다. |
max_size() | 배열의 최대 사이즈를 리턴한다.(size 함수와 동일한 동작. 왜 이 함수가 있는지 잘 모르겠다.) |
empty() | 배열이 비어있는지 확인하는 함수 (비어있을 경우 true, 아닐 경우 false 리턴) |
- element access 관련 멤버 함수
함수명 | 동작 |
operator[N] | N번째 인자를 리턴 |
at(N) | N번째 인자를 리턴 |
front() | 배열의 맨 앞 원소를 리턴 |
back() | 배열의 맨 뒤 원소를 리턴 |
data() | 배열을 포인터 타입으로 리턴. (배열의 첫 번째 주소를 리턴) |
- motifier 멤버 함수
함수명 | 동작 |
fill(value) | 배열의 인자를 value값으로 변경 |
swap(arr) | 배열 인자를 arr 배열의 인자로 변경 (변경 하려는 배열과 size가 같아야 함) |
'Development. > C++' 카테고리의 다른 글
[C++] List container (std::list) 개념 및 사용법 정리 (0) | 2020.09.03 |
---|---|
[C++] Vector container(std::vector) 개념 및 사용법 정리 (0) | 2020.08.17 |
[C++] STL(Standard Template Library) 이란? (0) | 2020.07.26 |