[C++ Primer] Passing an array to a function by reference/pointers -- sample

#include  < cstdlib >
#include 
< iostream >

using   namespace  std;

//  Takes a pointer to the array, and the size of the array.
void  print_arr1( const   int   * arr, size_t size)
{
    
for  (size_t ix  =   0 ; ix  !=  size;  ++ ix) {
        cout 
<<  arr[ix]  <<   '   ' ;
    }
    cout 
<<  endl;
}

//  Takes 2 pointers. One to the beginning of the array, 
//  and one to 1 past the last element - just like iterating through a vector.
void  print_arr2( const   int   * beg,  const   int   * end)
{
    
for  ( /*  empty  */ ; beg  !=  end;  ++ beg) {
        cout 
<<   * beg  <<   '   ' ;
    }
    
    cout 
<<  endl;
}

//  Takes an array of size 10 and uses it as a const reference.
void  print_arr3( const   int  ( & arr)[ 10 ])
{
    size_t size 
=   10 ;
    
for  (size_t ix  =   0 ; ix  !=  size;  ++ ix) {
        cout 
<<  arr[ix]  <<   '   ' ;
    }
    cout 
<<  endl;
}

int  main() 
{
    
int  arr[]  =  { 0 1 2 3 4 5 6 7 8 9 };
    
int   * parr  =  arr;
        
    print_arr1(parr, 
10 );
    print_arr2(parr, parr
+ 10 );
    print_arr3(arr);    
    
    
return  EXIT_SUCCESS;
}

你可能感兴趣的:([C++ Primer] Passing an array to a function by reference/pointers -- sample)