清空vector中的元素 为什么判断std::vector是否为空时,用if(0==vec.size()) 提示效率低,但用if (vec.empty()) 正常?

为什么判断std::vector是否为空时,用if(0==vec.size()) 提示效率低,但用if (vec.empty()) 正常?因为size函数需要遍历整个向量,如果向量很大,则需要很长时间

为什么判断std::vector是否为空时,用if(0==vec.size()) 提示效率低,但用if (vec.empty()) 正常?

因为size函数需要遍历整个向量,如果向量很大,则需要很长时间。

只要空函数在向量中找到一个值,它就会返回false,因此不需要遍历,节省时间。