title: What are the use cases for having a function return by const value for non-builtin type?
body: <p>Recently I have read that it makes sense when returning by value from a function to qualify the return type const for non-builtin types, e.g.:</p>
  
  <pre><code>const Result operation() {
      //..do something..
      return Result(..);
  }
  </code></pre>
  
  <p>I am struggling to understand the benefits of this, once the object has been returned surely it's the callers choice to decide if the returned object should be const?</p>