清除前检查矢量

Check a vector before clear?

本文关键字:检查 清除      更新时间:2023-10-16

我不确定,但我想我已经读过,只有当向量不为空时,才应该删除它。所以现在我总是在删除向量之前进行检查:

if (!vector.empty()) {
vector.clear();
}

然而,我再也没有发现这一步是否没有必要。

是否禁止在空向量上使用clear

不需要检查,

并降低可读性IMO.

事实上,在清除空序列或关联容器时,存在与未定义行为有关的问题,但现在已经解决了,调用std::vector::clear完全安全,而不必之前检查std::vector是否为空。