title: Does const call by reference improve performance when applied to primitive types?
body: <p>Concerning objects (especially strings), call by reference is faster than call-by-value because the function call does not need to create a copy of the original object. Using const, one can also ensure that the reference is not abused.</p>
  
  <p>My question is whether const call-by-reference is also faster if using primitive types, like bool, int or double.</p>
  
  <pre><code>void doSomething(const string &amp; strInput, unsigned int iMode);
  void doSomething(const string &amp; strInput, const unsigned int &amp; iMode);
  </code></pre>
  
  <p>My suspicion is that it is advantageous to use call-by-reference as soon as the primitive type's size in bytes exceeds the size of the address value. Even if the difference is small, I'd like to take the advantage because I call some of these functions quite often.</p>
  
  <p>Additional question: Does inlining have an influence on the answer to my question?</p>