danlrobertson89 at gmail.com
Mon Oct 26 09:24:07 PDT 2015
> A quick survey of the LO code shows that this idiom is underutilized.
Agreed! Thanks for bringing this up, I've noticed this as well.
> The use of make_shared (and family) to construct shared_ptr (and other)
> instances is highly encouraged because of its benefits over using new and
> smart-pointer ctor or reset.
Very true, make_shared should result in one heap alloc vs. new + the
shared_ptr constructor which uses at least two.
However, if make_shared is used and we're working with a single block,
if we're also using weak_ptrs, if I'm correct the object will be destroyed
once the last strong ref is deleted, but will not be deallocated until the
last weak ref is deleted. I haven't seen many uses of weak_ptrs in LO, but
if we have code using weak refs that could outlive all of the strong
refs depending on your goals it could be better to stick with new + the
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 473 bytes
Desc: Digital signature
More information about the LibreOffice