bugprone-standalone-empty

当在范围内使用 empty() 且结果被忽略时发出警告。如果存在成员函数,则建议使用 clear()

在一些常见的范围内,empty() 方法返回一个布尔值,表示范围是否为空,但它经常被错误地理解为清除范围内容的方式。一些范围提供了 clear() 方法用于此目的。当对 empty 的调用返回一个被忽略的结果时,此检查会发出警告,并建议用对 clear() 的调用来替换它,如果它作为范围的成员函数可用。

例如,以下代码可以用来指示范围是否为空,但结果被忽略了

std::vector<int> v;
...
v.empty();

调用 clear() 将适当地清除范围的内容

std::vector<int> v;
...
v.clear();

限制