On 23/07/15 14:23, "Marc Mutz" <[email protected]> wrote: >On Thursday 08 January 2015 23:33:34 Thiago Macieira wrote: >> * Q_NULLPTR - strongly encouraged > >Ok, trying to summarize the discussion so we can move forward. > >There's a bug report (https://bugreports.qt.io/browse/QTBUG-45291) about >Qt >headers not compiling with -Wzero-as-null-pointer-constant, sometimes not >even >when locking the Qt headers away behind an -isystem. I understood the >discussion in this thread as follows: > >- ok to use Q_NULLPTR in public headers (the bug report suggests that this > should actually be enforced by headersclean). >- ok to use in new code or as a drive-by iff the 0 isn't immediately >visible > as a nullptr. Example: > validator(0), // Q_NULLPTR ok here > Counter-example: > const char *msg = 0 // Q_NULLPTR not wanted here >- otherwise, we don't want Q_NULLPTR. We're waiting until we can move >directly > to nullptr. In particular, we cannot use Q_NULLPTR for its potentially > disambiguating characteristics, until we require C++11 nullptr. So code >must > still compile (modulo warnings) (and have the same meaning) if the >Q_NULLPTR > is replaced back to 0. > >Consensus?
Mostly. But it looks like VS 2012 support nullptr, so I’d say we wait for 5.6 to be branched. After that we should globally get rid of Q_NULLPTR. i.e. Do a search and replace Q_NULLPTR -> nullptr in our code base. Then IMO the first two rules above should be taken into use with s/Q_NULLPTR/nullptr/. Cheers, Lars _______________________________________________ Development mailing list [email protected] http://lists.qt-project.org/mailman/listinfo/development
