Algorithm | 배열 std::array

·2024년 10월 30일
0
post-thumbnail

📝 Programmers School
[C++] 어서와! 자료구조와 알고리즘은 처음이지?



배열

: 같은 종류의 데이터가 연속적으로 저장되어 있는 자료 구조

  • 인덱스를 사용해 특정 원소에 곧바로 접근 가능 O(1)
  • 캐시 지역성 : 배열의 각 원소는 인접해 있어 하나의 원소에 접근하면 근처 원소도 함께 캐시로 가져옴
  • 반복문에서 배열을 사용하면 효율적
  • 상수 또는 상수 표현식으로 크기 지정
  • 스택 메모리 영역에 할당 → 보통 1MB 할당

2차원 배열

int arr[행 번호][열 변호];

// {1, 2, 3},
// {4, 5, 6}
// → arr[2][3]

std::array

: C++에서 C스타일 배열을 대체하는 고정 크기 컨테이너


std::array<Type, n> Name;

std::array<int, 5> scores;

- 헤더파일에 정의 - 원소타입과 배열 크기를 매개변수로 사용하는 클래스 템플릿 - C 스타일 배열처럼 사용할 수 있는 [] 연산자 오버로딩 제공 - 대입 연산자 지원 (깊은 복사) - 배열 크기를 정확히 알 수 있음 → `array::size()` - 반복자 지원
- 배열의 크기를 명시적으로 지정해야 함 - 항상 스택 메모리 사용 - 고정 크기 배열이 아닌 가변 크기 배열을 더 선호
profile
🌦️ @xaesu

0개의 댓글