tidy - modernize-use-nullptr — Extra Clang Tools 22.0.0git documentation (original) (raw)
The check converts the usage of null pointer constants (e.g. NULL, 0) to use the new C++11 and C23 nullptr keyword.
Example¶
void assignment() { char *a = NULL; char *b = 0; char c = 0; }
int *ret_ptr() { return 0; }
transforms to:
void assignment() { char *a = nullptr; char *b = nullptr; char c = 0; }
int *ret_ptr() { return nullptr; }
Options¶
IgnoredTypes¶
Semicolon-separated list of regular expressions to match pointer types for which implicit casts will be ignored. Default value:std::_CmpUnspecifiedParam::;^std::__cmp_cat::__unspec.
NullMacros¶
Comma-separated list of macro names that will be transformed along withNULL. By default this check will only replace the NULL macro and will skip any similar user-defined macros.
Example¶
#define MY_NULL (void*)0 void assignment() { void *p = MY_NULL; }
transforms to:
#define MY_NULL NULL void assignment() { int *p = nullptr; }
if the NullMacros option is set to MY_NULL.