title: Pass arguments as std::string or const std::string&?
body: <blockquote>
    <p><strong>Possible Duplicate:</strong><br>
    <a href="https://stackoverflow.com/questions/270408/is-it-better-in-c-to-pass-by-value-or-pass-by-constant-reference">Is it better in C++ to pass by value or pass by constant reference?</a>  </p>
  </blockquote>
  
  
  
  <p>I thought about this while writing a file system.</p>
  
  <pre><code>vector&lt;string&gt; getFiles(string path);
  vector&lt;string&gt; getFiles(const string&amp; path);
  </code></pre>
  
  <p>What one is faster? What one is more elegant?</p>
  
  <p>Obviously <code>path</code> will never be changed in the <code>getFiles</code> method.</p>
  
  <p>Bonus: I'm using C++11. Is there a way move semantics would speed everything up?</p>