我有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";
}
还有更好的方法吗?
答案 0 :(得分:3)
我猜你可以这样做:
template <typename T0, typename... Ts>
bool areSameSize(T0 const& first, Ts const&... rest) {
return ((first.size() == rest.size()) && ...);
}
像areSameSize(vec1, vec2, vec3, vec4)
一样使用。