Computer >> 컴퓨터 >  >> 프로그래밍 >> C++

C++ STL array 컨테이너의 get() 함수 완벽 정리

이 글에서는 C++ STL의 std::array 컨테이너가 제공하는 get() 함수에 대해 자세히 알아보겠습니다. 이 함수는 배열 컨테이너에서 i번째 요소를 가져오는 데 사용되며, 컴파일 타임에 인덱스가 검증되어 안전하게 요소에 접근할 수 있다는 장점이 있습니다.

문법

get<i>(array_name)

get() 함수는 두 개의 필수 매개변수를 받습니다.

  • i (인덱스): 가져올 요소의 위치를 나타내며, 반드시 컴파일 타임 상수여야 합니다.
  • array_name: 요소를 가져올 대상 배열의 이름입니다.

함수는 지정된 i번째 요소의 참조를 반환합니다. 인덱스는 0부터 시작한다는 점에 유의하세요.

예제

다음 예제를 통해 get() 함수의 동작 방식을 확인해 보겠습니다.

#include<iostream>
#include<array>
using namespace std;

int main() {
    array<int, 10> arr = {0, 11, 22, 33, 44, 55, 66, 77, 88, 99};
    cout << "1번째 요소: " << get<0>(arr) << endl;
    cout << "6번째 요소: " << get<5>(arr) << endl;
    cout << "8번째 요소: " << get<7>(arr) << endl;
    cout << "10번째 요소: " << get<9>(arr) << endl;
    return 0;
}

실행 결과

1번째 요소: 0
6번째 요소: 55
8번째 요소: 77
10번째 요소: 99

주요 특징과 활용 팁

get() 함수는 일반적인 [] 연산자나 at() 메서드와 달리 인덱스가 컴파일 타임 상수여야 한다는 특징이 있습니다. 범위를 벗어난 인덱스를 사용하면 컴파일 오류가 발생하므로, 런타임 전에 잘못된 접근을 사전에 차단할 수 있습니다.

또한 std::tie와 함께 사용하면 여러 요소를 한 번에 언패킹(unpacking)하는 것도 가능해, 구조화된 데이터를 다룰 때 유용하게 활용할 수 있습니다.