bugprone-unused-raii¶
查找看起来像 RAII 对象的临时对象。
此类的典型示例是作用域锁。
{
scoped_lock(&global_mutex);
critical_section();
}
scoped_lock 的析构函数在进入 critical_section
之前被调用,使其处于无保护状态。
我们应用了许多启发式方法来减少此检查的误报次数
忽略从宏扩展的代码。测试框架大量使用此功能。
忽略具有平凡析构函数的类型。它们不太可能是 RAII 对象,并且在删除它们时没有区别。
忽略复合语句末尾的对象(不会改变行为)。
忽略从调用返回的对象。