bugprone-unused-local-non-trivial-variable¶
当在函数中未使用局部非平凡变量时发出警告。以下类型的变量将被排除在此检查之外
平凡和可平凡复制
引用和指针
catch 子句中的异常变量
静态或线程局部
结构化绑定
带有
[[maybe_unused]]
属性的变量
此检查可以通过将 IncludeTypes 设置为 .* 来配置为对所有非平凡变量发出警告,并使用 ExcludeTypes 排除特定类型。
在此示例中,my_lock 将会生成一条关于其未使用的警告。
std::mutex my_lock;
// my_lock local variable is never used
在下一个示例中,future2 将会生成一条关于其未使用的警告。
std::future<MyObject> future1;
std::future<MyObject> future2;
// ...
MyObject foo = future1.get();
// future2 is not used.
选项¶
- IncludeTypes¶
用分号分隔的正则表达式列表,匹配要检查的变量类型。默认情况下,将检查以下类型
::std::.*mutex
::std::future
::std::basic_string
::std::basic_regex
::std::basic_istringstream
::std::basic_stringstream
::std::bitset
::std::filesystem::path
- ExcludeTypes¶
用分号分隔的正则表达式列表,匹配从 IncludeTypes 匹配中排除的类型。默认情况下,它是一个空列表。