<div dir="auto"><div data-smartmail="gmail_signature" dir="auto"><br></div><div class="gmail_quote" dir="auto"><div dir="ltr" class="gmail_attr">сб, 25 мая 2019 г., 12:30 Mutz, Marc via Development <<a href="mailto:development@qt-project.org">development@qt-project.org</a>>:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Further to the question about default ctors for such "obvious" stuff as<br>
<br>
On 2019-05-21 10:27, Mutz, Marc via Development wrote:<br>
>     class QRect {<br>
>        int x, y, w, h;<br>
>     public:<br>
>        QRect() = default;<br>
>     };<br>
>     QRect r; // partially-formed<br>
>     r.x();   // compilers _already_ warn about this<br>
>     QRect r = {}; // zero-initialized<br>
<br>
I've been working with Qt for two decades now. Guess what I just wrote <br>
and had to debug?<br>
<br>
    QSize zero;<br>
<br>
Anyone spot the bug? Hint: the following /is/ correct:<br>
<br>
    QPoint origin;<br>
<br>
Now, anyone here who wants to defend that as good API design?<br>
<br>
Anyone?<br>
<br>
Repeat after me: default ctors do _not_ establish a valid value.<br></blockquote></div><div dir="auto"><br></div><div dir="auto">Perhaps you mean "trivial type's default<span style="font-family:sans-serif"> ctors do _not_ establish a valid value"? </span></div><div dir="auto"><br></div><div dir="auto"><span style="font-family:sans-serif">Konstantin</span><br></div><div class="gmail_quote" dir="auto"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
</blockquote></div></div>