Official docs:
Some headers from C library were deprecated in C++ and are no longer
welcome in C++ codebases. Some have no effect in C++. For more details
refer to the C++ 14 Standard [depr.c.headers] section. This check
replaces C standard library headers with their C++ alternatives and
removes redundant ones.
Official docs:
Finds non-static member functions that can be made static because the
functions don’t use this. After applying modifications as suggested by
the check, running the check again might find more opportunities to
mark member functions static.
Official docs:
This check replaces deprecated dynamic exception specifications with
the appropriate noexcept specification (introduced in C++11). By
default this check will replace throw() with noexcept, and
throw(<exception>[,...]) or throw(...) with noexcept(false).
Official docs:
This check replaces default bodies of special member functions with =
default;. The explicitly defaulted function declarations enable more
opportunities in optimization, because the compiler might treat
explicitly defaulted functions as trivial.
Official docs:
Finds macro expansions of DISALLOW_COPY_AND_ASSIGN(Type) and replaces
them with a deleted copy constructor and a deleted assignment
operator. Before the delete keyword was introduced in C++11 it was
common practice to declare a copy constructor and an assignment
operator as private members. This effectively makes them unusable to
the public API of a class. With the advent of the delete keyword in
C++11 we can abandon the private access of the copy constructor and
the assignment operator and delete the methods entirely.
Official docs:
The check flags dereferences and non-pointer declarations of objects
that are not meant to be passed by value, such as C FILE objects or
POSIX pthread_mutex_t objects.
Official docs:
The check flags overloaded operator new() and operator delete()
functions that do not have a corresponding free store function defined
within the same scope. For instance, the check will flag a class
implementation of a non-placement operator new() when the class does
not also define a non-placement operator delete() function as well.
Official docs:
Finds non-extern non-inline function and variable definitions in
header files, which can lead to potential ODR violations in case these
headers are included from multiple translation units.
Official docs:
This check replaces default bodies of special member functions with =
default;. The explicitly defaulted function declarations enable more
opportunities in optimization, because the compiler might treat
explicitly defaulted functions as trivial.