modernize-use-nullptr¶
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 with - NULL. By default this check will only replace the- NULLmacro 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.