[Development] parented_ptr
Marc Mutz
marc.mutz at qt.io
Wed Oct 29 17:33:27 CET 2025
On 29.10.25 16:27, André Somers via Development wrote:
>> · Add a QObject::addChild(std::unique_ptr child)
>
> Start simple, I would suggest. Do you really think that this will bring
> a lot of value?
Every function that transfers ownership as a raw pointer is worth being
replaced by one taking/returning by unique_ptr. Let the API enforce
ownership transfer instead of letting the reader of the code guess.
> Introduce the basic version, see how it actually impacts
> your code base and collect feedback, and then see if an overload like
> this really would bring value. One problem I see is that, AFAIK, a
> std::unique_ptr is a distinct type from a
> std::unique_ptr, so the signature above
> won't work. Something _like_ this can of course be done, using a
> template and casting, but it won't be as pretty.
As you notied, std::unique_ptr implicitly converts into a
std::unique_ptr<s> is T* implicitly converts to S*.
--
Marc Mutz (he/his)
Principal Software Engineer
The Qt Company
Erich-Thilo-Str. 10 12489
Berlin, Germany
www.qt.io
Geschäftsführer: Mika Pälsi, Juha Varelius, Jouni Lintunen
Sitz der Gesellschaft: Berlin,
Registergericht: Amtsgericht Charlottenburg,
HRB 144331 B
</s>
More information about the Development
mailing list