Hi all.

Im totally agree with Stephen, because such change definitely complicate
source reading.
When one read "ScopedPointer", then one naturally expect that stored object
will be deleted.

My 2 cents.


On Tue, Sep 3, 2013 at 2:02 PM, Stephen Kelly <[email protected]>wrote:

>
> Hi there,
>
> Commit 5b9006bbdba7dcab01b8e640554a7d7a4b64f76b in qtbase added move
> capability to QScopedPointer.
>
> That means that in Qt 5.2, if you use C++11, you can do this:
>
>  int main(int argc, char **argv)
>  {
>    QScopedPointer<int> p_out;
>    {
>      QScopedPointer<int> p(new int);
>      p_out = std::move(p);
>    }
>  }
>
> However, if you want to move a QScopedPointer like that, then you don't
> want a
> QScopedPointer at all, but a std::unique_ptr instead.
>
> It also means that you can put a QScopedPointer in your API:
>
>  QScopedPointer<int> returnScopedPointer()
>  {
>    QScopedPointer<int> p(new int);
>    return p;
>  }
>
>  int main(int argc, char **argv)
>  {
>    QScopedPointer<int> p = returnScopedPointer();
>  }
>
>
> Again, this is what std::unique_ptr is for. We should not try to turn
> QScopedPointer into an attempt at a NIH std::unique_ptr. Where people have
> a
> need for a std::unique_ptr, they should use it. We should not adapt
> QScopedPointer to fit the need instead.
>
> Adding a move contructor to QScopedPointer makes no sense, because moving
> means 'escaping the scope', which breaks the fundamental point of
> QScopedPointer. QScopedPointer is different to std::unique_ptr and should
> remain so.
>
> Please approve:
>
>  https://codereview.qt-project.org/#change,64428
>
> Thanks,
>
> --
> Join us in October at Qt Developer Days 2013 - https://devdays.kdab.com
>
> Stephen Kelly <[email protected]> | Software Engineer
> KDAB (Deutschland) GmbH & Co.KG, a KDAB Group Company
> www.kdab.com || Germany +49-30-521325470 || Sweden (HQ) +46-563-540090
> KDAB - Qt Experts - Platform-Independent Software Solutions
> _______________________________________________
> Development mailing list
> [email protected]
> http://lists.qt-project.org/mailman/listinfo/development
>
>
_______________________________________________
Development mailing list
[email protected]
http://lists.qt-project.org/mailman/listinfo/development

Reply via email to