Thiago Macieira wrote: > On Friday 14 August 2015 14:34:49 Jarosław Staniek wrote: >> I also think we agree that anything other than 0 is good for readability >> and readability should be the priority. > > Note that the Qt 5.7 policy still allows and even asks for use of 0 as > null in some places. The policy is: > > * always use nullptr in public headers. No exceptions. > * use nullptr or 0 in non-public headers or regular sources so > readability is > good. There's no point in using nullptr where 0 is obviously a null > pointer, like: > char *s = 0; > >> Then, there's the consistency factor -- a reason to cover the topic of >> null pointers in the guide. I find neither Qt is consistent in what to >> use, Qt is not an example here then. > > The policy above applies to Qt 5.7. For 5.6, only the first part applies > and it needs to be Q_NULLPTR. > >> In the worst case if someone calls us too modern, e.g for embedded >> projects, we'd be able a macro to ECM kdecompilersettings that defined >> nullptr back to 0 (or is this already supported by cmake/etc.?) > > Don't do that. If you use nullptr, there's no going back to zero because > it's not the same. You've irrevocably locked yourself into requiring a > compiler that supports it.
I should say "back to Q_NULLPTR", right? It's just helping people with old compilers by making the code SC. >> PS: A Krazy check checking for usage of NULLs and Q_NULLPTR would be >> lovely. Checking the use of 0's isn't easy, right? > > -Wzero-as-null-pointer-constant > > Qt headers should pass that starting with 5.6. Yes it's useful for KF5. @everyone: can we have have it added in our build flags for KF5 (maybe not for users of KF5)? -- regards, Jaroslaw Staniek KDE: : A world-wide network of software engineers, artists, writers, translators : and facilitators committed to Free Software development - http://kde.org Calligra Suite: : A graphic art and office suite - http://calligra.org Kexi: : A visual database apps builder - http://calligra.org/kexi Qt Certified Specialist: : http://www.linkedin.com/in/jstaniek