-
c++ 정적 배열사용 arrayCoding/Tip !! 2018. 9. 19. 14:18
보통 우리는 배열을 사용 할 때
d123456#include <iostream>int main(){int arr[5] = { 1, 2, 3, 4, 5};}처럼 선언한다.
하지만 좀 더 쉽고 다양하게 사용할 수 있도록 선언하는 방법이 있다.
1234567#include <iostream>#include <array>int main(){std::array<int, 5> hello_Arr = { 1, 2, 3, 4, 5};cout << hello_Arr.size() << endl; // 배열크기 출력}c
-> 하지만 이런식의 표현의 단점은 바로 < > 내부에 배열의 크기를 나타내는 숫자가 있어야한다는 점이다.
-> 보통 배열은 int arr[] ={ 1,2,3,4,5 } 가 가능하지만 위의 표현은 그런것이 불가능하다는 점이다.
이런 식으로 선언할 경우 다양한 기능을 이용할 수 있는데 대표적으로 배열에 대한 값을 sort할 수 있다.
1234567891011#include <iostream>#include <array>#include <algorithm>int main(){std::array<int, 5> hello_Arr = { 100, 21, 33, 4, 25};std::sort(hello_Arr.begin(), hello_Arr.end()); // 정순으로 정렬std::sort(hello_Arr.rbegin(), hello_Arr.rend()); // 역순으로 정렬 rbegin에서 r은 revers를 의미한다.}이런식으로 진행하면 배열이 정렬되어진다.
hello_Arr.at(숫자 크기) 을 사용하게 되면 해당 숫자크기의 범위를 넘었는지 넘지 않았는지 검사를 진행하고 넘게되면 예외처리를 진행하게 된다.
-> 속도는 보통의 hello_Arr[10] 같은 것에 비해 느리다.
-> hello_Arr[10]의 경우 현재 배열의 크기가 5인데 이러한 범위를 넘었는지를 검사하지 않고 무조건 접근함
반응형'Coding > Tip !!' 카테고리의 다른 글
c++ 동적 배열 사용 vector (0) 2018.09.19 C++ auto 키워드 사용하기 (0) 2018.09.19 함수의 인자 사용 시, 레퍼런스 이용하기! (0) 2018.09.19 foo 함수 (0) 2018.09.19 Null Pointer Dereference (널 포인터 역참조) 수정중 (0) 2018.09.19 댓글