title: When to use const and const reference in function args?
body: <p>When writing a C++ function which has args that are being passed to it, from my understanding const should always be used if you can guarantuee that the object will not be changed or a const pointer if the pointer won't be changed.</p>
  
  <p>When else is this practice advised?</p>
  
  <p>When would you use a const reference and what are the advantages over just passing it through a pointer for example?</p>
  
  <p>What about this <code>void MyObject::Somefunc(const std::string&amp; mystring)</code>  What would be the point in having a const string if a string is in fact already an immutable object?</p>