title: Is the practice of returning a C++ reference variable evil?
body: <p>This is a little subjective I think; I'm not sure if the opinion will be unanimous (I've seen a lot of code snippets where references are returned).</p>
  
  <p>According to a comment toward <a href="https://stackoverflow.com/questions/752479/am-i-initializing-my-c-reference-variables-correctly">this question I just asked, regarding initializing references</a>, returning a reference can be evil because, [as I understand] it makes it easier to miss deleting it, which can lead to memory leaks.</p>
  
  <p>This worries me, as I have followed examples (unless I'm imagining things) and done this in a fair few places... Have I misunderstood? Is it evil? If so, just how evil?</p>
  
  <p>I feel that because of my mixed bag of pointers and references, combined with the fact that I'm new to C++, and total confusion over what to use when, my applications must be memory leak hell...</p>
  
  <p>Also, I understand that using smart/shared pointers is generally accepted as the best way to avoid memory leaks.</p>