title: what does this line means ? half += string(freq[i] / 2, i + 'a');
body: <p><a href="http://www.geeksforgeeks.org/print-all-palindrome-permutations-of-a-string/" rel="nofollow noreferrer">http://www.geeksforgeeks.org/print-all-palindrome-permutations-of-a-string/</a></p>
  
  <p>what this line mean</p>
  
  <pre><code>half += string(freq[i] / 2, i + 'a'); 
  </code></pre>
  
  <p>in this code ?</p>
  
  <pre><code>void printAllPossiblePalindromes(string str)
  {
      int freq[M];
  
      if (!isPalin(str, freq))
          return;
  
      int l = str.length();
  
      string half = "";
      char oddC;
      for (int i = 0; i &lt; M; i++)
      {
          if(freq[i] % 2 == 1)
              oddC = i + 'a';
  
          half += string(freq[i] / 2, i + 'a');
      }
  
      string palin;
  
      do
      {
          palin = half;
          if (l % 2 == 1)
              palin += oddC;
          palin += reverse(half);
          cout &lt;&lt; palin &lt;&lt; endl;
      }
      while (next_permutation(half.begin(), half.end()));
  }
  </code></pre>