title: Destructor called when returning value
body: <p>I've got a class and I'm trying to return it's instance, but the destructor is called before I can return it, which and when it really does fall out of scope in a later functions it's destructor is called again and causes a break. I edited it to fix the error, but I was wondering if it's supposed to be calling it's destructor. </p>
  
  <pre><code>CBuffer BufferReader::read(const int size){
      const auto raw = read_raw(); 
      skip(size);
      return CBuffer(raw, size, true);
  
      // Dstructor is called in this example
  
      CBuffer out(read_raw(), size, true);
      skip(size);
      return std::move(out);
  }
  </code></pre>