readability-container-size-empty

检查是否可以将对 size()/length() 方法的调用替换为对 empty() 的调用。

应该使用 empty() 方法而不是 size()/length() 方法来检查容器是否为空。不能保证 size()/length() 是一个常数时间函数,通常使用 empty() 更有效率,也更清楚地表明了使用它的意图。此外,一些容器可能实现了 empty() 方法,但没有实现 size()length() 方法。尽可能使用 empty() 使得将来更容易切换到其他容器。

如果容器具有与以下签名匹配的 empty()size()length() 方法,则检查会发出警告

size_type size() const;
size_type length() const;
bool empty() const;

size_type 可以是任何类型的整数。

ExcludedComparisonTypes

一个以分号分隔的类名列表,对于这些类名,检查将忽略与相同类型默认构造的对象的比较。如果此处列出了一个类,则检查不会建议对该类的对象使用 empty() 来代替此类比较。默认值为:::std::array