forked from OSchip/llvm-project
68 lines
1.0 KiB
ReStructuredText
68 lines
1.0 KiB
ReStructuredText
.. title:: clang-tidy - modernize-use-nullptr
|
|
|
|
modernize-use-nullptr
|
|
=====================
|
|
|
|
The check converts the usage of null pointer constants (eg. ``NULL``, ``0``)
|
|
to use the new C++11 ``nullptr`` keyword.
|
|
|
|
Example
|
|
-------
|
|
|
|
.. code-block:: c++
|
|
|
|
void assignment() {
|
|
char *a = NULL;
|
|
char *b = 0;
|
|
char c = 0;
|
|
}
|
|
|
|
int *ret_ptr() {
|
|
return 0;
|
|
}
|
|
|
|
|
|
transforms to:
|
|
|
|
.. code-block:: c++
|
|
|
|
void assignment() {
|
|
char *a = nullptr;
|
|
char *b = nullptr;
|
|
char c = 0;
|
|
}
|
|
|
|
int *ret_ptr() {
|
|
return nullptr;
|
|
}
|
|
|
|
Options
|
|
-------
|
|
|
|
.. option:: NullMacros
|
|
|
|
Comma-separated list of macro names that will be transformed along with
|
|
``NULL``. By default this check will only replace the ``NULL`` macro and will
|
|
skip any similar user-defined macros.
|
|
|
|
Example
|
|
^^^^^^^
|
|
|
|
.. code-block:: c++
|
|
|
|
#define MY_NULL (void*)0
|
|
void assignment() {
|
|
void *p = MY_NULL;
|
|
}
|
|
|
|
transforms to:
|
|
|
|
.. code-block:: c++
|
|
|
|
#define MY_NULL NULL
|
|
void assignment() {
|
|
int *p = nullptr;
|
|
}
|
|
|
|
if the :option:`NullMacros` option is set to ``MY_NULL``.
|