C++에서 std::array란 무엇입니까?

C Eseo Std Arraylan Mueos Ibnikka



C++는 요소 컬렉션을 저장하고 조작하기 위한 다양한 데이터 구조를 제공합니다. 그러한 데이터 구조 중 하나는 표준::배열 , C++11 표준 라이브러리에 도입되었습니다. 이 기사를 통해 std::array, 구문, 예제 및 C++의 장점에 대해 알아봅니다.

C++에서 std::array란 무엇입니까?

C++에서 컨테이너는 표준::배열 고정된 수의 동일한 데이터 유형 항목을 보유하는 데 사용됩니다. 그만큼 표준::배열 컨테이너는 더 안전하고 사용하기 쉬우며 더 나은 성능을 제공하므로 C 스타일 배열에 대한 대안을 제공합니다.

C++ 표준 라이브러리의 구성 요소인 이 클래스는 동일한 데이터 유형의 요소를 저장하고 액세스하는 실용적이고 효과적인 접근 방식을 제공합니다. 의 크기 때문에 표준::배열 컴파일 시간에 알려지면 동적 확장의 런타임 오버헤드가 줄어듭니다. 배열의 크기는 템플릿 매개변수에 의해 설정되며, 표준::배열 연속 메모리에 저장됩니다.







C++에서 std::array 선언

선언할 수 있습니다 표준::배열 좋다:



성병 :: 정렬 < 정수 , 4 > ;

위 구문은 이름이 지정된 배열을 선언합니다. 4개 요소의 고정 크기로 각 요소는 int 유형입니다.



std::array의 예

예 1: 다음은 a를 초기화하는 간단한 예입니다. 표준::배열 C++에서:





#include <배열>

#include

정수 기본 ( ) {

성병 :: 정렬 < 정수 , 4 > = { 4 , 6 , 2 , 1 } ;

~을 위한 ( 정수 = 0 ; < 도착 크기 ( ) ; ++ ) {

성병 :: 쿠우트 << [ ] << ' ' ;

}

성병 :: 쿠우트 << 성병 :: ;

반품 0 ;

}

산출

예 2: 당신은 또한 사용할 수 있습니다 표준::배열 배열의 요소에 액세스합니다. 코드는 다음과 같습니다.

#include <배열>

#include

정수 기본 ( ) {

성병 :: 정렬 < 정수 , > = { 1 , 2 , } ;

성병 :: 쿠우트 << '첫 번째 요소는 ' << [ 0 ] << 성병 :: ;

성병 :: 쿠우트 << '두 번째 요소는 ' << 도착 ~에 ( 1 ) << 성병 :: ;

성병 :: 쿠우트 << '세 번째 요소는 ' << 도착 뒤쪽에 ( ) << 성병 :: ;

반품 0 ;

}

산출

예 3: 다음 예제는 다음을 사용하여 특정 위치에 있는 배열의 요소를 인쇄하는 방법을 보여줍니다. 표준::배열 C++에서.

#include

#include <배열>

정수 기본 ( )

{

성병 :: 정렬 < 정수 , 4 > = { 4 , 6 , 2 , 1 } ;

성병 :: 쿠우트 << [ ] << 성병 :: ;

반품 0 ;

}

산출

C++에서 std::array의 장점

C++의 기존 배열과 달리 표준::배열 다양한 기능을 제공합니다.

1: 직관적인 구문

표준::배열 초기화를 위한 보다 직관적인 구문이 있으며 초기화 목록을 사용하여 초기화할 수 있습니다. 이는 배열을 초기화하는 보다 간결하고 읽기 쉬운 방법을 제공합니다.

2: 인수로 전달됨

표준::배열 함수에 인수로 전달할 수 있으며 함수에서 반환하는 것도 가능합니다.

3: 메모리 관리

사용의 주요 이점 중 하나 표준::배열 쉽고 효율적인 메모리 관리를 제공한다는 것입니다. 이는 수동 메모리 할당 또는 할당 해제가 필요하지 않음을 의미합니다.

4: 자동 바운드 확인

사실 그 표준::배열 C 스타일 배열에 대한 자동화된 경계 검사를 제공하는 것이 주요 이점 중 하나입니다. 즉, 프로그램이 배열의 정의된 범위를 벗어난 요소에 액세스하려고 하면 컴파일러에서 오류가 발생합니다. 버퍼 오버플로, 세그먼테이션 오류 및 메모리 누수는 경계 검사를 통해 방지할 수 있는 자주 발생하는 프로그래밍 문제 중 일부에 불과합니다.

5: 유용한 기능 제공

표준::배열 Iterator, size(), front(), back(), fill(), at()과 같은 몇 가지 편리한 함수를 제공하며 이는 또 다른 이점입니다. 이러한 함수를 사용하면 복잡하고 오류가 발생하기 쉬운 코드 없이도 배열 요소를 더 쉽게 조작할 수 있습니다. 예를 들어 반복자는 배열의 요소 사이를 탐색하기 쉽게 만들고 fill() 메서드를 사용하면 배열의 전체 요소 집합에 단일 값을 제공할 수 있습니다.

결론

C++에서는 표준::배열 클래스는 몇 가지 유용한 기능과 유형 및 범위 안전성의 이점과 함께 고정 크기 배열로 작업하는 실용적인 방법을 제공합니다. 초기화 및 범위 검사를 위해 보다 명확하고 이해하기 쉬운 구문을 제공하여 많은 일반적인 프로그래밍 실수를 방지할 수 있습니다. 고정 크기 배열을 사용해야 하는 대부분의 경우 std::array를 사용하는 것이 더 최신의 안전한 배열 조작 방법을 제공하므로 권장됩니다.