Coding/Tip !!

c++ 정적 배열사용 array

IMyoungho 2018. 9. 19. 14:18

보통 우리는 배열을 사용 할 때


1
2
3
4
5
6
#include <iostream>
 
int main(){
 
int arr[5= { 12345};
}


d

처럼 선언한다.


하지만 좀 더 쉽고 다양하게 사용할 수 있도록 선언하는 방법이 있다.

1
2
3
4
5
6
7
#include <iostream>
#include <array>
 
int main(){
 
std::array<int5> hello_Arr = { 12345};
cout << hello_Arr.size() << endl; // 배열크기 출력
}

c

-> 하지만 이런식의 표현의 단점은 바로 < > 내부에 배열의 크기를 나타내는 숫자가 있어야한다는 점이다.

-> 보통 배열은 int arr[] ={ 1,2,3,4,5 } 가 가능하지만 위의 표현은 그런것이 불가능하다는 점이다.




이런 식으로 선언할 경우 다양한 기능을 이용할 수 있는데 대표적으로 배열에 대한 값을 sort할 수 있다.

1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#include <array>
#include <algorithm>
int main(){
 
std::array<int5> hello_Arr = { 1002133425};
 
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인데 이러한 범위를 넘었는지를 검사하지 않고 무조건 접근함





반응형