[Development] What's the status of a moved-from object?

Konstantin Tokarev annulen at yandex.ru
Mon May 20 17:27:49 CEST 2019



20.05.2019, 18:21, "Thiago Macieira" <thiago.macieira at intel.com>:
> On Monday, 20 May 2019 06:56:56 PDT Lars Knoll wrote:
>>  I actually think we should consider getting rid of shared_null and instead
>>  have d == nullptr as the null/default constructed state of the object. Yes,
>>  that means we need to check for d == nullptr in member functions, but I
>>  don’t think the overhead is a problem, as d will have to be loaded into a
>>  register in any case.
>
> It does introduce a compare-and-branch that wouldn't otherwise be there, but
> the cost is minimal compared to what most API would be doing, indeed.

We should wrap d == nullptr in Q_UNLIKELY() to make branch predictor assume
non-null path by default.

-- 
Regards,
Konstantin




More information about the Development mailing list