title: C++ sending array to function by value, not by reference
body: <p>I have a problem with C++.</p>
  
  <p>I have a function which sorts the array, but I don't want to work on an original array. I want to send the array to the function by value not by reference. Please help me. </p>
  
  <pre><code>int bogoSort(int tab[], int n){
  int iloscOperacjiDominujacych = 0;
      cout&lt;&lt;"rozpoczalem algorytm BogoSort"&lt;&lt;endl;
  
      srand (time(NULL));
      named (outer)
      while(true){
   //       cout&lt;&lt;"Zaczal sie while"&lt;&lt;endl;
          named (inner)
          for(int i = 0; i &lt; n; i++){
              if(i == n-1){
                  break (outer);
              }
              if (tab[i] &gt; tab[i+1]){
                  break (inner);
              }
          }
          for(int i = n-1; i &gt; 0; i--){
              iloscOperacjiDominujacych++;
              //operacja dominujaca to zamiana dwoch elementow w tablicy, wykonuje sie ZAWSZE najwiecej razy i jest najbardziej zlozona
              int swapPostition =  rand() % (i+1); //wylosowanie liczby miedzy &lt;0;i&gt; nalezacej do calkowitych
              int temp = tab[i];
              tab[i] = tab[swapPostition];
              tab[swapPostition] = temp;
          }
      }
  //    cout&lt;&lt;"Wykonal sie while"&lt;&lt;endl;
      show(tab,n);
      return iloscOperacjiDominujacych;
  }
  </code></pre>