[Development] Views in APIs (was: Re: QString and related changes for Qt 6)

Ville Voutilainen ville.voutilainen at gmail.com
Wed May 13 11:46:53 CEST 2020


On Wed, 13 May 2020 at 12:37, Marco Bubke <Marco.Bubke at qt.io> wrote:
> auto view3 = myObject.getCopy()[42].getView(); // not safe, copy is destroyed
> AFAIK you can say that a rvalue should not return a reference by using ref-qualified member functions.
> View getView() const & { return v;}


However,

whatever_function(myObject.getCopy()[42].getView()); // never dangles,
so always safe

Disabling reference returns for rvalues prevents such forwarding cases
from working, and you need
to declare a separate lvalue to make your code work.


More information about the Development mailing list