readability-redundant-casting¶
检测涉及相同源类型和目标类型的显式类型转换操作,并建议将其移除。涵盖多种显式转换操作,包括 static_cast
、const_cast
、C 样式转换和 reinterpret_cast
。其主要目标是通过消除不必要的类型转换来提高代码可读性和可维护性。
int value = 42;
int result = static_cast<int>(value);
在这个例子中,static_cast<int>(value)
是多余的,因为它执行了从 int
到另一个 int
的转换。
涉及构造函数转换、用户定义转换、函数转换、类型相关转换、在引用同一底层类型的不同类型别名之间的转换,以及与位域相关的转换和直接从左值到右值的转换的转换操作,都被检查忽略。
选项¶
- IgnoreMacros¶
如果设置为 true,检查将不会在宏内部给出警告。默认值为 true。
- IgnoreTypeAliases¶
当设置为 false 时,检查将考虑类型别名,当设置为 true 时,它将解析所有类型别名并在底层类型上操作。默认值为 false。