如果条件检查,多个向量大小相等

if condition checking multiple vector sizes are equal

本文关键字:向量 条件 检查 如果      更新时间:2023-10-16

我有 4 个不同的向量,我需要检查所有 4 个向量大小是否相等。我有下面的代码段,但我正在寻找更好的版本。

std::vector<std::string> vec1, vec2, vec3, vec4;
if ((vec1.size() == vec2.size())
    && (vec3.size() == vec4.size())
    && (vec1.size() == vec4.size()))
{
    std::cout << "equal";
}

有没有更好的方法?

我想你可以这样做:

template <typename T0, typename... Ts>
bool areSameSize(T0 const& first, Ts const&... rest) {
    return ((first.size() == rest.size()) && ...);
}

areSameSize(vec1, vec2, vec3, vec4)一样使用。