[Development] What's the status of a moved-from object?
Julien Cugnière
julien.cugniere at gmail.com
Tue May 21 12:52:01 CEST 2019
Le mar. 21 mai 2019 à 10:32, Mutz, Marc via Development
<development at qt-project.org> a écrit :
> It is, however, be an acceptable stop-gap measure, and here a compromise
> may emerge, for keeping old code working while preparing for a
> fully-implemented partially-formed state. This would mean we do assign
> meaning to a nullptr d consistent with the documented default value in
> Qt 5, but deprecate the use of the default ctor for establishing said
> value in the docs and warn about the use of a default-constructed object
> other than for destruction and assignment at runtime, even in release
> mode. In Qt 7, we then crash, as we do for some moved-from objects
> already.
Hi, I'm just a bystander, but I'm curious about this, and I wonder if
I misunderstood.
Are you saying that in modern C++, the recommendation is that the
default constructor of classes should leave the object in an
uninitialized state, where most member functions called will crash or
lead to undefined behavior? Do you have any links on the subject?
Are you suggesting that in Qt 7, we will have the following :
QRect r;
qDebug() << r.width(); // random value
QVector<int> v;
qDebug() << v.size(); // crash
QString s;
qDebug() << s.indexOf("foo"); // crash
What about std::string and std::vector ?
--
Julien Cugnière
More information about the Development
mailing list