C++의 배열 클래스

C++11의 배열 클래스 도입으로 C 스타일 배열에 대한 더 나은 대안이 제공되었습니다. C 스타일 배열에 비해 배열 클래스의 장점은 다음과 같습니다. 
 

  • 배열 클래스는 자체 크기를 알고 있지만 C 스타일 배열에는 이 속성이 없습니다. 따라서 함수에 전달할 때 배열의 크기를 별도의 매개변수로 전달할 필요가 없습니다.
  • C 스타일 배열을 사용하면 다음과 같은 위험이 더 커집니다. 배열이 포인터로 붕괴되는 중 . 배열 클래스는 포인터로 붕괴되지 않습니다
  • 배열 클래스는 일반적으로 C 스타일 배열보다 더 효율적이고 가볍고 안정적입니다.

어레이 작업 :- 
1. 에서() :- 이 함수는 배열 요소에 액세스하는 데 사용됩니다. 
2. get() :- 이 함수는 배열 요소에 액세스하는 데에도 사용됩니다. 이 함수는 배열 클래스의 멤버가 아니라 클래스 튜플의 오버로드된 함수입니다. 
3. 연산자[] :- 이는 C 스타일 배열과 유사합니다. 이 메서드는 배열 요소에 액세스하는 데에도 사용됩니다.

CPP
   // C++ code to demonstrate working of array   // at() and get()   #include       #include       // for array at()   #include      // for get()   using     namespace     std  ;   int     main  ()   {      // Initializing the array elements      array   <  int    6  >     ar     =     {  1       2       3       4       5       6  };      // Printing array elements using at()      cout      < <     'The array elements are (using at()) : '  ;      for     (     int     i  =  0  ;     i   <  6  ;     i  ++  )      cout      < <     ar  .  at  (  i  )      < <     ' '  ;      cout      < <     endl  ;      // Printing array elements using get()      cout      < <     'The array elements are (using get()) : '  ;      cout      < <     get   <  0  >  (  ar  )      < <     ' '      < <     get   <  1  >  (  ar  )      < <     ' '  ;      cout      < <     get   <  2  >  (  ar  )      < <     ' '      < <     get   <  3  >  (  ar  )      < <     ' '  ;      cout      < <     get   <  4  >  (  ar  )      < <     ' '      < <     get   <  5  >  (  ar  )      < <     ' '  ;      cout      < <     endl  ;      // Printing array elements using operator[]      cout      < <     'The array elements are (using operator[]) : '  ;      for     (     int     i  =  0  ;     i   <  6  ;     i  ++  )      cout      < <     ar  [  i  ]      < <     ' '  ;      cout      < <     endl  ;      return     0  ;   }   

산출
The array elements are (using at()) : 1 2 3 4 5 6 The array elements are (using get()) : 1 2 3 4 5 6 The array elements are (using operator[]) : 1 2 3 4 5 6  

4. 앞() :- 배열의 첫 번째 요소에 대한 참조를 반환합니다. 
5. 뒤로() :- 배열의 마지막 요소에 대한 참조를 반환합니다.

CPP
   // C++ code to demonstrate working of   // front() and back()   #include       #include       // including header file to use stl array and there function    using     namespace     std  ;   int     main  ()   {      // Initializing the array elements      array   <  int    6  >     ar     =     {  1       2       3       4       5       6  };      // Printing first element of array      cout      < <     'First element of array is : '  ;      int     &  a  =  ar  .  front  ();      cout      < <  a   < <     endl  ;      // Printing last element of array      cout      < <     'Last element of array is : '  ;      int     &  b  =  ar  .  back  ();      cout      < <     b      < <     endl  ;          //change first and last element of array using these references      a  =  10  ;     //now 1 change to 10      b  =  60  ;     //now 6 change to 60          //lets print array now       cout   < <  'array after updating first and last element   n  '  ;      for     (  auto     x  :     ar  )      {      cout   < <  x   < <  ' '  ;      }      cout   < <  endl  ;          return     0  ;   }   

산출
First element of array is : 1 Last element of array is : 6 array after updating first and last element 10 2 3 4 5 60  


6. 사이즈() :- 배열의 요소 수를 반환합니다. 이는 C 스타일 배열에는 없는 속성입니다. 
7. 최대_크기() :- 배열이 보유할 수 있는 최대 요소 수, 즉 배열이 선언된 크기를 반환합니다. size()와 max_size()는 동일한 값을 반환합니다.

CPP
   // C++ code to demonstrate working of   // size() and max_size()   #include       #include       // for size() and max_size()   using     namespace     std  ;   int     main  ()   {      // Initializing the array elements      array   <  int    6  >     ar     =     {  1       2       3       4       5       6  };      // Printing number of array elements      cout      < <     'The number of array elements is : '  ;      cout      < <     ar  .  size  ()      < <     endl  ;      // Printing maximum elements array can hold      cout      < <     'Maximum elements array can hold is : '  ;      cout      < <     ar  .  max_size  ()      < <     endl  ;      return     0  ;   }   

산출
The number of array elements is : 6 Maximum elements array can hold is : 6 

8. 교환() :- swap()은 한 배열의 모든 요소를 ​​다른 배열로 바꿉니다.

CPP
   // C++ code to demonstrate working of swap()   #include       #include       // for swap() and array   using     namespace     std  ;   int     main  ()   {      // Initializing 1st array      array   <  int    6  >     ar     =     {  1       2       3       4       5       6  };      // Initializing 2nd array      array   <  int    6  >     ar1     =     {  7       8       9       10       11       12  };      // Printing 1st and 2nd array before swapping      cout      < <     'The first array elements before swapping are : '  ;      for     (  int     i  =  0  ;     i   <  6  ;     i  ++  )      cout      < <     ar  [  i  ]      < <     ' '  ;      cout      < <     endl  ;      cout      < <     'The second array elements before swapping are : '  ;      for     (  int     i  =  0  ;     i   <  6  ;     i  ++  )      cout      < <     ar1  [  i  ]      < <     ' '  ;      cout      < <     endl  ;      // Swapping ar1 values with ar      ar  .  swap  (  ar1  );      // Printing 1st and 2nd array after swapping      cout      < <     'The first array elements after swapping are : '  ;      for     (  int     i  =  0  ;     i   <  6  ;     i  ++  )      cout      < <     ar  [  i  ]      < <     ' '  ;      cout      < <     endl  ;      cout      < <     'The second array elements after swapping are : '  ;      for     (  int     i  =  0  ;     i   <  6  ;     i  ++  )      cout      < <     ar1  [  i  ]      < <     ' '  ;      cout      < <     endl  ;      return     0  ;   }   

산출
The first array elements before swapping are : 1 2 3 4 5 6 The second array elements before swapping are : 7 8 9 10 11 12 The first array elements after swapping are : 7 8 9 10 11 12 The second array elements after swapping are : 1 2 3 4 5 6  

  9. 빈() :- 이 함수는 배열 크기가 0일 때 true를 반환하고 그렇지 않으면 false를 반환합니다. 
10. 채우기() :- 이 함수는 전체 배열을 특정 값으로 채우는 데 사용됩니다.

CPP
   // C++ code to demonstrate working of empty()   // and fill()   #include       #include       // for fill() and empty()   using     namespace     std  ;   int     main  ()   {      // Declaring 1st array      array   <  int    6  >     ar  ;      // Declaring 2nd array      array   <  int    0  >     ar1  ;      // Checking size of array if it is empty      ar1  .  empty  ()  ?     cout      < <     'Array empty'  :      cout      < <     'Array not empty'  ;      cout      < <     endl  ;      // Filling array with 0      ar  .  fill  (  0  );      // Displaying array after filling      cout      < <     'Array after filling operation is : '  ;      for     (     int     i  =  0  ;     i   <  6  ;     i  ++  )      cout      < <     ar  [  i  ]      < <     ' '  ;      return     0  ;   }   

산출
Array empty Array after filling operation is : 0 0 0 0 0 0