title: Reversing a string recursively using only a reference parameter
body: <p>I'm having trouble figuring out to how to reverse a string recursively using only one reference parameter like the signature below.</p>
  
  <pre><code>void reverse(string &amp;s)
  {
  if (s.size() == 0) //this doesn't work because the size is never changing
      return;
  
  string new_word = s.substr(1) + s.at(0);
  reverse(new_word);
  }
  </code></pre>
  
  <p>I managed to do it just fine returning a new string but for some reason I'm stumped on this one.</p>
  
  <p>Any suggestions? Thanks.</p>