logo

C++의 STD::배열

배열은 동종 객체의 모음이며 이 배열 컨테이너는 일정한 크기의 배열 또는 (정적 크기)에 대해 정의됩니다. 이 컨테이너는 고정 크기 배열을 감싸며 포인터에 선언될 때 크기 정보가 손실되지 않습니다.
배열을 활용하려면 배열 헤더를 포함해야 합니다.

 #include>

예를 살펴보겠습니다.



CPP






// CPP program to demonstrate working of array> #include> #include> #include> #include> #include> using> namespace> std;> int> main() {> >// construction uses aggregate initialization> >// double-braces required> >array<>int>, 5>또는1{{3, 4, 5, 1, 2}};> >array<>int>, 5>ar2 = {1, 2, 3, 4, 5};> >array ar3 = {{string(>'a'>),>'b'>}};> >cout <<>'Sizes of arrays are'> << endl;> >cout << ar1.size() << endl;> >cout << ar2.size() << endl;> >cout << ar3.size() << endl;> > >cout <<>' Initial ar1 : '>;> >for> (>auto> i : ar1)> >cout << i <<>' '>;> >// container operations are supported> >sort(ar1.begin(), ar1.end());> >cout <<>' sorted ar1 : '>;> >for> (>auto> i : ar1)> >cout << i <<>' '>;> >// Filling ar2 with 10> >ar2.fill(10);> >cout <<>' Filled ar2 : '>;> >for> (>auto> i : ar2)> >cout << i <<>' '>;> >// ranged for loop is supported> >cout <<>' ar3 : '>;> >for> (>auto> &s : ar3)> >cout << s <<>' '>;> >return> 0;> }>



>

>

산출:

Sizes of arrays are 5 5 2 Initial ar1 : 3 4 5 1 2 sorted ar1 : 1 2 3 4 5 Filled ar2 : 10 10 10 10 10 ar3 : a b>

이 C++ STL 배열은 일종의 순차 컨테이너이며 일반 프로그래밍이나 경쟁 프로그래밍에서는 거의 사용되지 않지만 때로는 멤버 함수가 일상 생활에서 사용하는 일반 일반 배열보다 우위를 제공합니다. 따라서 우리는 이러한 종류의 배열과 함께 사용되는 몇 가지 중요한 멤버 함수에 대해 논의하고 있습니다.

배열 템플릿의 멤버 함수는 다음과 같습니다.

구문: 배열 arr_name;

a) [ ] 연산자 : 이것은 일반 배열과 비슷합니다. 인덱스 'i'에 있는 요소 저장소에 액세스하는 데 사용합니다.

전:

C++




아파치

#include> #include> using> namespace> std;> int> main() {> >array <>char> , 3>도착={>'G'>,>'f'>,>'G'>};> >cout< ' '< return 0; }>

>

>

산출

G G>

b) front( ) 및 back( ) 기능: 이러한 메서드는 배열의 첫 번째 요소와 마지막 요소에 직접 액세스하는 데 사용됩니다.

C++




#include> #include> using> namespace> std;> int> main() {> >array <>int> , 3>도착={>'G'>,>'f'>,>'G'>};>// ASCII val of 'G' =71> >cout< ' '< return 0; }>

>

>

산출

71 71>

c) 스왑( ) 함수: 이 스왑 기능은 두 배열의 내용을 바꾸는 데 사용됩니다.

전:

C++




#include> #include> using> namespace> std;> int> main() {> >array <>int> , 3>도착={>'G'>,>'f'>,>'G'>};>// ASCII val of 'G' =71> >array <>int> , 3>arr1={>'M'>,>'M'>,>'P'>};>// ASCII val of 'M' = 77 and 'P' = 80> >arr.swap(arr1);>// now arr = {M,M,P}> >cout< ' '< return 0; }>

>

>

산출

77 80>

d) 비어 있음( ) 함수: 이 함수는 선언된 STL 배열이 비어 있는지 여부를 확인하는 데 사용됩니다. 비어 있으면 true, 그렇지 않으면 false를 반환합니다.

전:

C++




#include> #include> using> namespace> std;> int> main() {> >array <>int> , 3>도착={>'G'>,>'f'>,>'G'>};>// ASCII val of 'G' =71> >array <>int> , 3>arr1={>'M'>,>'M'>,>'P'>};>// ASCII val of 'M' = 77 and 'P' = 80> >bool> x = arr.empty();>// false ( not empty)> >cout< return 0; }>

>

>

산출

false>

e) at( ) 함수: 이 함수는 특정 위치에 저장된 요소에 액세스하는 데 사용됩니다. 배열 크기 범위를 벗어난 요소에 액세스하려고 하면 예외가 발생합니다.

전:

C++




#include> #include> using> namespace> std;> int> main() {> >array <>int> , 3>도착={>'G'>,>'f'>,>'G'>};>// ASCII val of 'G' =71> >array <>int> , 3>arr1={>'M'>,>'M'>,>'P'>};>// ASCII val of 'M' = 77 and 'P' = 80> >cout<< arr.at(2) <<>' '> << arr1.at(2);> >//cout<< arr.at(3); // exception{Abort signal from abort(3) (SIGABRT)}> >return> 0;> }>

>

>

산출

71 80>

f) 채우기() 함수: 이는 배열의 모든 인덱스를 유사한 값으로 초기화하거나 채우는 데 특별히 사용됩니다.

전:

C++


빠른 정렬 자바



#include> #include> using> namespace> std;> int> main() {> >array <>int> , 5>도착;> >arr.fill(1);> >for>(>int> i: arr)> >cout< ' '; return 0; }>

>

>

산출

1 1 1 1 1>

g) size( ) 또는 max_size( ) 및 sizeof( ) 함수: size( ) 또는 max_size( )는 모두 배열의 최대 인덱스 수를 가져오는 데 사용되는 반면 sizeof( )는 배열의 전체 크기(바이트)를 가져오는 데 사용됩니다.

C++




#include> #include> using> namespace> std;> int> main() {> >array <>int> , 10>arr;> >cout< ' '; // total num of indexes cout< ' '; // total num of indexes cout<

>

>

산출

10 10 40>

h) 데이터( ): 이 함수는 배열 객체의 첫 번째 요소에 대한 포인터를 반환합니다. 배열의 요소는 인접한 메모리 위치에 저장되기 때문입니다. 이 data( ) 함수는 string/char 유형 객체의 기본 주소를 반환합니다.

전:

C++




#include> #include> #include> using> namespace> std;> int> main ()> {> >const> char>* str =>'techcodeview.com'>;> >array<>char>,13>도착;> >memcpy> (arr.data(),str,13);> >cout << arr.data() <<>' '>;> >return> 0;> }>

>

>


산출

techcodeview.com>

I) cbegin( ) 및 cend( ): 이 gfg 링크로 이동합니다. 클릭 해주세요