tidy - modernize-avoid-c-style-cast — Extra Clang Tools 22.0.0git documentation (original) (raw)
Finds usages of C-style casts.
C-style casts can perform a variety of different conversions (const_cast,static_cast, reinterpret_cast, or a combination). This makes them dangerous as the intent is not clear, and they can silently perform unsafe conversions between incompatible types.
This check is similar to -Wold-style-cast, but it suggests automated fixes in some cases. The reported locations should not be different from the ones generated by -Wold-style-cast.
Examples¶
class A { public: std::string v; };
A a; double num = (double)(&a); // Compiles! Hides danger // num = static_cast<double*>(&a); // Won't compile (good!) num = reinterpret_cast<double*>(&a); // Compiles, danger is explicit
References¶
Corresponding cpplint.py check name: readability/casting.