在清除之前检查一个向量?
Check a vector before clear?
我不确定,但我想我已经读过,您应该只删除不为空的矢量。
所以现在我总是在删除向量之前进行检查:
if (!vector.empty()) {
vector.clear();
}
但是,我再也找不到任何关于此步骤是否不必要的信息。
是否禁止在空向量上使用clear
?
不需要检查,
并降低 IMO 的可读性。
确实,在清除空序列或关联容器时存在与未定义行为相关的 issue 问题,但现在已修复,完全安全调用 std::vector::clear
之前没有 检查 std::vector
是否为空。
我不确定,但我想我已经读过,您应该只删除不为空的矢量。 所以现在我总是在删除向量之前进行检查:
if (!vector.empty()) {
vector.clear();
}
但是,我再也找不到任何关于此步骤是否不必要的信息。
是否禁止在空向量上使用clear
?
不需要检查,
并降低 IMO 的可读性。
确实,在清除空序列或关联容器时存在与未定义行为相关的 issue 问题,但现在已修复,完全安全调用 std::vector::clear
之前没有 检查 std::vector
是否为空。