Fausto Papandrea (13 December 2018 12:48)
> Hi, I would like to understand the logic of the addDays function of
> QDateTime.
>
> I mean, why doesn't it modify the calling object, but returns a copy of
> a new object instead?

At this point, it does what it does because it's done so for years
(since 5.0, at least) and changing it would break various compatibility
promises.  I guess the reason for it originally would be a general
preference for non-mutating methods; think of the add*() methods as
operator+() specialisations, rather than as operator+=().  If you need
to advance a QDateTime's day, you can always use

  when->setDate(when.date().addDays(n));

or simply

  when = when.addDays(n);

to achieve the mutating variant.

        Eddy.
_______________________________________________
Development mailing list
[email protected]
https://lists.qt-project.org/listinfo/development

Reply via email to